You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/04/21 03:57:07 UTC
[08/17] james-project git commit: JAMES-2004 ElasticSearch should try
to connect locally when no configuration file
JAMES-2004 ElasticSearch should try to connect locally when no configuration file
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b2a14253
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b2a14253
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b2a14253
Branch: refs/heads/master
Commit: b2a1425376eac9f489835289f378b3d5a8915c66
Parents: b62d8b6
Author: benwa <bt...@linagora.com>
Authored: Tue Apr 18 13:45:39 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Fri Apr 21 08:27:41 2017 +0700
----------------------------------------------------------------------
.../mailbox/ElasticSearchMailboxModule.java | 25 ++++++++++++--------
1 file changed, 15 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/b2a14253/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
index e114938..43ba8ff 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
@@ -42,6 +42,7 @@ import org.apache.james.mailbox.store.search.ListeningMessageSearchIndex;
import org.apache.james.mailbox.store.search.MessageSearchIndex;
import org.apache.james.mailbox.tika.extractor.TikaTextExtractor;
import org.apache.james.utils.RetryExecutorUtil;
+import org.apache.james.utils.PropertiesProvider;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.NoNodeAvailableException;
import org.slf4j.Logger;
@@ -88,16 +89,6 @@ public class ElasticSearchMailboxModule extends AbstractModule {
.get();
}
- @Provides
- @Singleton
- ElasticSearchConfiguration getElasticSearchConfiguration(FileSystem fileSystem) {
- return () -> getConfiguration(fileSystem);
- }
-
- private PropertiesConfiguration getConfiguration(FileSystem fileSystem) throws FileNotFoundException, ConfigurationException {
- return new PropertiesConfiguration(fileSystem.getFile(ES_CONFIG_FILE));
- }
-
private Client createIndexAndMapping(Client client, PropertiesConfiguration propertiesReader) {
IndexCreationFactory.createIndex(client,
MailboxElasticsearchConstants.MAILBOX_INDEX,
@@ -116,6 +107,20 @@ public class ElasticSearchMailboxModule extends AbstractModule {
return createIndexAndMapping(createClient(propertiesReader), propertiesReader);
}
+ @Provides
+ @Singleton
+ private ElasticSearchConfiguration getElasticSearchConfiguration(PropertiesProvider propertiesProvider) throws ConfigurationException {
+ try {
+ PropertiesConfiguration configuration = propertiesProvider.getConfiguration("elasticsearch");
+ return () -> configuration;
+ } catch (FileNotFoundException e) {
+ LOGGER.warn("Could not find elasticsearch configuration file. Using 127.0.0.1:9300 as contact point");
+ PropertiesConfiguration propertiesConfiguration = new PropertiesConfiguration();
+ propertiesConfiguration.addProperty(ELASTICSEARCH_HOSTS, "127.0.0.1");
+ return () -> propertiesConfiguration;
+ }
+ }
+
private Client createClient(PropertiesConfiguration propertiesReader) throws ConfigurationException {
Optional<String> monoHostAddress = Optional.ofNullable(propertiesReader.getString(ELASTICSEARCH_MASTER_HOST, null));
Optional<Integer> monoHostPort = Optional.ofNullable(propertiesReader.getInteger(ELASTICSEARCH_PORT, null));
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org