From b421cb504439fc0c7f539ed3241e26ce903f37a3 Mon Sep 17 00:00:00 2001 From: Mohsin Husen Date: Thu, 16 May 2013 13:29:49 +0100 Subject: [PATCH] Cluster Name config in Transport Client --- .../client/TransportClientFactoryBean.java | 21 +++++++++++- .../TransportClientBeanDefinitionParser.java | 3 ++ .../config/spring-elasticsearch-1.0.xsd | 33 +++++++++++++++++-- 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java b/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java index 96c4aa9d2..f2868d234 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java @@ -41,6 +41,9 @@ public class TransportClientFactoryBean implements FactoryBean, private static final Logger logger = LoggerFactory.getLogger(TransportClientFactoryBean.class); private String clusterNodes; + private String clusterName; + private Boolean enableHttp; + private Boolean clientTransportSniff; private TransportClient client; private Properties properties; static final String COLON = ":"; @@ -96,13 +99,29 @@ public class TransportClientFactoryBean implements FactoryBean, if (properties != null) { return settingsBuilder().put(properties).build(); } - return settingsBuilder().put("client.transport.sniff", true).build(); + return settingsBuilder() + .put("cluster.name", clusterName) + .put("client.transport.sniff", clientTransportSniff) + .put("http.enabled", enableHttp) + .build(); } public void setClusterNodes(String clusterNodes) { this.clusterNodes = clusterNodes; } + public void setClusterName(String clusterName) { + this.clusterName = clusterName; + } + + public void setEnableHttp(Boolean enableHttp) { + this.enableHttp = enableHttp; + } + + public void setClientTransportSniff(Boolean clientTransportSniff) { + this.clientTransportSniff = clientTransportSniff; + } + public void setProperties(Properties properties) { this.properties = properties; } diff --git a/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java b/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java index 0619a812e..b51b26040 100644 --- a/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java +++ b/src/main/java/org/springframework/data/elasticsearch/config/TransportClientBeanDefinitionParser.java @@ -42,6 +42,9 @@ public class TransportClientBeanDefinitionParser extends AbstractBeanDefinitionP private void setClusterNodes(Element element, BeanDefinitionBuilder builder) { builder.addPropertyValue("clusterNodes", element.getAttribute("cluster-nodes")); + builder.addPropertyValue("clusterName", element.getAttribute("cluster-name")); + builder.addPropertyValue("enableHttp", Boolean.valueOf(element.getAttribute("http-enabled"))); + builder.addPropertyValue("clientTransportSniff", Boolean.valueOf(element.getAttribute("client-transport-sniff"))); } private AbstractBeanDefinition getSourcedBeanDefinition(BeanDefinitionBuilder builder, Element source, diff --git a/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-1.0.xsd b/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-1.0.xsd index 8917e3dbf..668aa618a 100644 --- a/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-1.0.xsd +++ b/src/main/resources/org/springframework/data/elasticsearch/config/spring-elasticsearch-1.0.xsd @@ -44,9 +44,21 @@ - - - + + + + + + + + + + + + + + + @@ -67,6 +79,21 @@ + + + + + + + + + + + + + + +