diff --git a/ucoinj-elasticsearch-plugin/pom.xml b/ucoinj-elasticsearch-plugin/pom.xml index 06d4bcb009c5f1ee18b9a88eced32a344328302b..f4106a640d8d9a76e97102a492a40847519a491d 100644 --- a/ucoinj-elasticsearch-plugin/pom.xml +++ b/ucoinj-elasticsearch-plugin/pom.xml @@ -115,8 +115,9 @@ <ucoinj.plugins.directory>${basedir}}/src/test/es-home/plugins</ucoinj.plugins.directory> <es.http.cors.allow-origin>*</es.http.cors.allow-origin> <exec.args> - start reset-market reset-registry index --host metab.ucoin.fr --port 9201 + start index --host metab.ucoin.fr --port 9201 </exec.args> + <ucoinj.log.file>${project.build.directory}/exec.log</ucoinj.log.file> </properties> </profile> diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat index 4327e736d234c195794496fb4373a6f519a2d2ef..289b26db9b10e0916e542eec40855640391e46f3 100644 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat +++ b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat @@ -32,7 +32,7 @@ echo . set OLDDIR=%CD% cd /d %~dp0% -call "%JAVA_COMMAND%" %JAVA_OPTS% "-Ducoinj.log.file=%APP_LOG_FILE%" "-Ducoinj-elasticsearch.config=%APP_CONF_FILE%" "-Ducoinj.plugins.directory=%APP_BASEDIR%\plugins" -Djna.nosys=true -jar ucoinj-elasticsearch-plugin-${project.version}.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 +call "%JAVA_COMMAND%" %JAVA_OPTS% "-Ducoinj.basedir=%APP_BASEDIR%" "-Ducoinj.plugins.directory=%APP_BASEDIR%\plugins" "-Ducoinj.log.file=%APP_LOG_FILE%" "-Ducoinj-elasticsearch.config=%APP_CONF_FILE%" -Ducoinj.launch.mode=full -Djna.nosys=true -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 set exitcode=%ERRORLEVEL% echo Stop with exitcode: %exitcode% cd %OLDDIR% diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh index 064c62c4da2237ebd896d7685d708b14ef29fc2b..d0fd97f8fa393b65cc5e6e897723f0caa1041e56 100644 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh +++ b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh @@ -25,7 +25,7 @@ if [ -d $JAVA_HOME ]; then echo "launch java" echo "java command: $JAVA_COMMAND" - $JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Ducoinj.log.file=$APP_LOG_FILE -Ducoinj-elasticsearch.config=$APP_CONF_FILE -Djna.nosys=true -Ducoinj.basedir=$APP_BASEDIR -Ducoinj.plugins.directory=$APP_BASEDIR/plugins -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar $* + $JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Ducoinj.basedir=$APP_BASEDIR -Ducoinj.plugins.directory=$APP_BASEDIR/plugins -Ducoinj.log.file=$APP_LOG_FILE -Ducoinj-elasticsearch.config=$APP_CONF_FILE -Ducoinj.launch.mode=full -Djna.nosys=true -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar $* exitcode=$? echo "Stop ${project.name} with exitcode: $exitcode" diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config index 0dd9a0b52ffc737ec90419c78cdb14b92f96126f..923c0857cc657de3d48c2b387c4c39606318a43f 100644 --- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config +++ b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config @@ -25,9 +25,10 @@ # By default: false #ucoinj.elasticsearch.embedded.enable=true -# If not embedded: ES Node Host -# Could be override using option : '-esh <host>' -#ucoinj.elasticsearch.host=192.168.0.5 +# ES Node Host +# THe node to connect (if NOT embedded node) +# By default: 'localhost' +#ucoinj.elasticsearch.host=<ES_Node_IP> # If not embedded: ES Node Port # Could be override using option : '-esp <port>' @@ -43,3 +44,11 @@ # See ES config 'http.enable' #ucoinj.elasticsearch.http.enable=false +# ES Node Network Host (if http enable) +# Allow values : (see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html) +# any IP address, or 'localhost' +# _[networkInterface]_ for addresses of a network interface, for example _eth0_ or _en0_. +# _local_ for any loopback addresses on the system +# +# By default: '_local_' +#ucoinj.elasticsearch.network.host=_eth0_ diff --git a/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties b/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties index 6cf6649f438e305729b2a5e3422dc3b5b92d56aa..4fe203ed757aa9c18a64b21ab6e5dffd61d147b8 100644 --- a/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties +++ b/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties @@ -1,7 +1,7 @@ # Global logging configuration -#log4j.rootLogger=ERROR, stdout, file -log4j.rootLogger=ERROR, stdout +log4j.rootLogger=ERROR, stdout, file +#log4j.rootLogger=ERROR, stdout # Console output log4j.appender.stdout=org.apache.log4j.ConsoleAppender diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java index 3a06d3c95b4db7ae6a620ee04410b6efa44365f9..f4b187ed6dc942a984d4190289e2fd43d89fdf00 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java +++ b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java @@ -110,7 +110,16 @@ public class Main { log.error(e.getMessage(), e); } - if (!config.isDaemon()) { + if (config.isDaemon()) { + while (true) { + try { + Thread.sleep(5000); + } catch(InterruptedException e) { + // Nothing + } + } + } + else { if (arguments.size() > 0) { // Check if auto-quit if need @@ -135,12 +144,10 @@ public class Main { } } } - - // shutdown - shutdown(); - - log.info("uCoinj :: ElasticSearch Indexer successfully stopped"); } + + // shutdown + shutdown(); } /* -- protected methods -- */ @@ -157,6 +164,8 @@ public class Main { // Silent is gold } } + + log.info("uCoinj :: ElasticSearch Indexer successfully stopped"); } protected void initI18n(Configuration config) throws IOException { diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java index 3d8fd6a6381bed7f6cc8d71234c045ba875390c3..6dc7de12f7fdcc7d93eb338f243702e8785df756 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java +++ b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java @@ -257,6 +257,10 @@ public class Configuration { return applicationConfig.getOption(ConfigurationOption.HOST.getKey()); } + public String getNetworkHost() { + return applicationConfig.getOption(ConfigurationOption.NETWORK_HOST.getKey()); + } + public int getPort() { return applicationConfig.getOptionAsInt(ConfigurationOption.PORT.getKey()); } diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java index c7be13cde8e953aff2b1b985d05858ebc3a5c109..957492dec68fc4b5438ed4ed8275be70bd436bc1 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java +++ b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java @@ -129,6 +129,13 @@ public enum ConfigurationOption implements ConfigOptionDef { Integer.class, false), + NETWORK_HOST( + "ucoinj.elasticsearch.network.host", + n("ucoinj.config.option.elasticsearch.network.host.description"), + "_local_", + String.class, + false), + DAEMON( "ucoinj.elasticsearch.daemon", n("ucoinj.config.option.node.elasticsearch.daemon.description"), diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java index 52da3a9a4a6034d177c3a120cbc9a3362be92fea..93194e3dd2a1f06e8e13e5e4694724a6444d8ace 100644 --- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java +++ b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java @@ -187,20 +187,21 @@ public class ElasticSearchService implements Bean,InitializingBean, Closeable { .put("path.home", config.getBasedir()) .put("path.data", config.getDataDirectory()) .put("path.plugins", config.getPluginsDirectory()) - // TODO + .put("http.host", config.getHost()) .put("http.cors.enabled", Boolean.TRUE.toString()); - if (!local && enableHttp && StringUtils.isNotBlank(config.getHost())) { - builder.put("http.host", config.getHost()); - if (!"localhost".equalsIgnoreCase(config.getHost())) { - builder.put("network.host", config.getHost()); + + // Set network host + if (!local && enableHttp + && StringUtils.isNotBlank(config.getNetworkHost())) { + if (!"localhost".equalsIgnoreCase(config.getNetworkHost())) { + builder.put("network.host", config.getNetworkHost()); } } - Settings settings = builder.build(); // Create a node builder NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder() .clusterName(clusterName) - .settings(settings) + .settings(builder.build()) .local(local); if (StringUtils.isNotBlank(clusterName)) {