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
pull/2707/merge
Andy Wilkinson 10 years ago
parent b82e220008
commit 89b4cac8b0

@ -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

Loading…
Cancel
Save