From 1cf18a4a506a56665429628a60563080c875fad1 Mon Sep 17 00:00:00 2001 From: Joseph Moore Date: Thu, 25 Feb 2016 17:38:29 -0800 Subject: [PATCH] DATAES-237 - path-configuration fails to load configs from inside jars --- .../elasticsearch/client/NodeClientFactoryBean.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java b/src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java index 06e7d8d09..fc8dd2597 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java @@ -17,9 +17,7 @@ package org.springframework.data.elasticsearch.client; import static org.elasticsearch.node.NodeBuilder.*; -import java.io.IOException; -import java.nio.file.Paths; - +import java.io.InputStream; import org.apache.commons.lang.StringUtils; import org.elasticsearch.client.Client; import org.elasticsearch.client.node.NodeClient; @@ -29,7 +27,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.InitializingBean; -import org.springframework.core.io.ClassPathResource; /** * NodeClientFactoryBean @@ -83,11 +80,11 @@ public class NodeClientFactoryBean implements FactoryBean, Initializ private Settings loadConfig() { if (StringUtils.isNotBlank(pathConfiguration)) { - try { - return Settings.builder().loadFromPath(Paths.get(new ClassPathResource(pathConfiguration).getURI())).build(); - } catch (IOException e) { - logger.error(String.format("Unable to read node configuration from file [%s]", pathConfiguration), e); + InputStream stream = getClass().getClassLoader().getResourceAsStream(pathConfiguration); + if (stream != null) { + return Settings.builder().loadFromStream(pathConfiguration, getClass().getClassLoader().getResourceAsStream(pathConfiguration)).build(); } + logger.error(String.format("Unable to read node configuration from file [%s]", pathConfiguration)); } return Settings.builder().build(); }