mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-07-04 17:52:11 +00:00
DATAES-9 : multiple elasticsearch cluster nodes not getting parsed if using property file
This commit is contained in:
parent
7df712a3b6
commit
151c62361c
@ -27,8 +27,7 @@ import org.springframework.util.Assert;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import static org.apache.commons.lang.StringUtils.substringAfter;
|
||||
import static org.apache.commons.lang.StringUtils.substringBefore;
|
||||
import static org.apache.commons.lang.StringUtils.*;
|
||||
import static org.elasticsearch.common.settings.ImmutableSettings.settingsBuilder;
|
||||
|
||||
/**
|
||||
@ -41,10 +40,11 @@ import static org.elasticsearch.common.settings.ImmutableSettings.settingsBuilde
|
||||
public class TransportClientFactoryBean implements FactoryBean<TransportClient>, InitializingBean, DisposableBean {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(TransportClientFactoryBean.class);
|
||||
private String[] clusterNodes;
|
||||
private String clusterNodes;
|
||||
private TransportClient client;
|
||||
private Properties properties;
|
||||
static final String COLON = ":";
|
||||
static final String COMMA = ",";
|
||||
|
||||
@Override
|
||||
public void destroy() throws Exception {
|
||||
@ -80,8 +80,8 @@ public class TransportClientFactoryBean implements FactoryBean<TransportClient>,
|
||||
|
||||
protected void buildClient() throws Exception {
|
||||
client = new TransportClient(settings());
|
||||
Assert.notEmpty(clusterNodes, "[Assertion failed] clusterNodes settings missing.");
|
||||
for (String clusterNode : clusterNodes) {
|
||||
Assert.hasText(clusterNodes, "[Assertion failed] clusterNodes settings missing.");
|
||||
for (String clusterNode : split(clusterNodes,COMMA)) {
|
||||
String hostName = substringBefore(clusterNode, COLON);
|
||||
String port = substringAfter(clusterNode, COLON);
|
||||
Assert.hasText(hostName, "[Assertion failed] missing host name in 'clusterNodes'");
|
||||
@ -99,7 +99,7 @@ public class TransportClientFactoryBean implements FactoryBean<TransportClient>,
|
||||
return settingsBuilder().put("client.transport.sniff", true).build();
|
||||
}
|
||||
|
||||
public void setClusterNodes(String[] clusterNodes) {
|
||||
public void setClusterNodes(String clusterNodes) {
|
||||
this.clusterNodes = clusterNodes;
|
||||
}
|
||||
|
||||
|
@ -33,8 +33,6 @@ import static org.apache.commons.lang.StringUtils.split;
|
||||
|
||||
public class TransportClientBeanDefinitionParser extends AbstractBeanDefinitionParser {
|
||||
|
||||
private static final String SEPARATOR_CHARS = ",";
|
||||
|
||||
@Override
|
||||
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
|
||||
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(TransportClientFactoryBean.class);
|
||||
@ -43,7 +41,7 @@ public class TransportClientBeanDefinitionParser extends AbstractBeanDefinitionP
|
||||
}
|
||||
|
||||
private void setClusterNodes(Element element, BeanDefinitionBuilder builder) {
|
||||
builder.addPropertyValue("clusterNodes", split(element.getAttribute("cluster-nodes"), SEPARATOR_CHARS));
|
||||
builder.addPropertyValue("clusterNodes", element.getAttribute("cluster-nodes"));
|
||||
}
|
||||
|
||||
private AbstractBeanDefinition getSourcedBeanDefinition(BeanDefinitionBuilder builder, Element source,
|
||||
|
Loading…
x
Reference in New Issue
Block a user