2020-09-04 14:33:19 +02:00
|
|
|
package eu.dnetlib.broker;
|
2020-07-02 08:55:42 +02:00
|
|
|
|
|
|
|
import org.elasticsearch.client.RestHighLevelClient;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
import org.springframework.data.elasticsearch.client.ClientConfiguration;
|
|
|
|
import org.springframework.data.elasticsearch.client.RestClients;
|
|
|
|
import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration;
|
|
|
|
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
|
|
|
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
|
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
|
|
|
2020-09-04 14:33:19 +02:00
|
|
|
import eu.dnetlib.broker.common.elasticsearch.Event;
|
|
|
|
import eu.dnetlib.broker.common.elasticsearch.Notification;
|
|
|
|
import eu.dnetlib.broker.common.properties.ElasticSearchProperties;
|
2020-07-02 08:55:42 +02:00
|
|
|
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
|
|
|
|
|
|
|
@Configuration
|
|
|
|
@EnableSwagger2
|
|
|
|
@EnableScheduling
|
|
|
|
@EnableTransactionManagement
|
2020-07-27 15:49:29 +02:00
|
|
|
@EnableElasticsearchRepositories(basePackageClasses = {
|
|
|
|
Event.class, Notification.class
|
|
|
|
})
|
2020-07-02 08:55:42 +02:00
|
|
|
public class LiteratureBrokerServiceConfiguration extends AbstractElasticsearchConfiguration {
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private ElasticSearchProperties elasticSearchProperties;
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Bean
|
|
|
|
public RestHighLevelClient elasticsearchClient() {
|
2021-07-06 13:29:38 +02:00
|
|
|
|
2020-07-02 08:55:42 +02:00
|
|
|
final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
|
2020-11-18 09:53:02 +01:00
|
|
|
.connectedTo(elasticSearchProperties.getClusterNodes().split(","))
|
2020-07-27 15:49:29 +02:00
|
|
|
.withConnectTimeout(elasticSearchProperties.getConnectionTimeout())
|
|
|
|
.withSocketTimeout(elasticSearchProperties.getSocketTimeout())
|
|
|
|
.build();
|
2020-07-02 08:55:42 +02:00
|
|
|
return RestClients.create(clientConfiguration).rest();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|