Allow Elasticsearch client-transport-sniff to be configured via the env
Previously, a TransportClient sniff property could not be configured while using Spring Boot’s Elasticsearch auto-configuration. This commit adds a new property, spring.data.elasticsearch.client-transport-sniff, that can be used to configure the TransportClient while continuing to use the auto-configuration support. Closes gh-1838
This commit is contained in:
@@ -87,6 +87,7 @@ public class ElasticsearchAutoConfiguration implements DisposableBean {
|
||||
TransportClientFactoryBean factory = new TransportClientFactoryBean();
|
||||
factory.setClusterName(this.properties.getClusterName());
|
||||
factory.setClusterNodes(this.properties.getClusterNodes());
|
||||
factory.setClientTransportSniff(this.properties.getClientTransportSniff());
|
||||
factory.afterPropertiesSet();
|
||||
TransportClient client = factory.getObject();
|
||||
this.releasable = client;
|
||||
|
||||
@@ -39,6 +39,11 @@ public class ElasticsearchProperties {
|
||||
*/
|
||||
private String clusterNodes;
|
||||
|
||||
/**
|
||||
* Allow the client to sniff for other members of the cluster.
|
||||
*/
|
||||
private boolean clientTransportSniff = true;
|
||||
|
||||
public String getClusterName() {
|
||||
return this.clusterName;
|
||||
}
|
||||
@@ -54,4 +59,13 @@ public class ElasticsearchProperties {
|
||||
public void setClusterNodes(String clusterNodes) {
|
||||
this.clusterNodes = clusterNodes;
|
||||
}
|
||||
|
||||
public boolean getClientTransportSniff() {
|
||||
return this.clientTransportSniff;
|
||||
}
|
||||
|
||||
public void setClientTransportSniff(boolean clientTransportSniff) {
|
||||
this.clientTransportSniff = clientTransportSniff;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -349,6 +349,7 @@ content into your application; rather pick only the properties that you need.
|
||||
spring.data.solr.repositories.enabled=true # if spring data repository support is enabled
|
||||
|
||||
# ELASTICSEARCH ({sc-spring-boot-autoconfigure}/elasticsearch/ElasticsearchProperties.{sc-ext}[ElasticsearchProperties])
|
||||
spring.data.elasticsearch.client-transport-sniff=true # Allow the client to sniff for other members of the cluster
|
||||
spring.data.elasticsearch.cluster-name= # The cluster name (defaults to elasticsearch)
|
||||
spring.data.elasticsearch.cluster-nodes= # The address(es) of the server node (comma-separated; if not specified starts a client node)
|
||||
spring.data.elasticsearch.repositories.enabled=true # if spring data repository support is enabled
|
||||
|
||||
Reference in New Issue
Block a user