JAMES-1810 Register ReIndexer in JMX server
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b57b4447 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b57b4447 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b57b4447 Branch: refs/heads/master Commit: b57b4447484e16f45ce995de72bea1eaa6bf376b Parents: 57fa9dc Author: Antoine Duprat <[email protected]> Authored: Tue Jul 26 11:20:12 2016 +0200 Committer: Antoine Duprat <[email protected]> Committed: Tue Jul 26 14:15:03 2016 +0200 ---------------------------------------------------------------------- .../apache/james/mailbox/indexer/ReIndexerImpl.java | 3 +++ .../modules/mailbox/ElasticSearchMailboxModule.java | 2 ++ .../apache/james/modules/server/JMXServerModule.java | 13 ++++++++++++- .../james/adapter/mailbox/ReIndexerManagement.java | 8 ++++++-- .../META-INF/org/apache/james/spring-server.xml | 4 +--- 5 files changed, 24 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/b57b4447/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java ---------------------------------------------------------------------- diff --git a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java index 6f650fa..f6da016 100644 --- a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java +++ b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/ReIndexerImpl.java @@ -23,6 +23,8 @@ import java.util.Collection; import java.util.Iterator; import java.util.List; +import javax.inject.Inject; + import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.exception.MailboxException; @@ -65,6 +67,7 @@ public class ReIndexerImpl implements ReIndexer { private final ListeningMessageSearchIndex messageSearchIndex; private final MailboxSessionMapperFactory mailboxSessionMapperFactory; + @Inject public ReIndexerImpl(MailboxManager mailboxManager, ListeningMessageSearchIndex messageSearchIndex, MailboxSessionMapperFactory mailboxSessionMapperFactory) { http://git-wip-us.apache.org/repos/asf/james-project/blob/b57b4447/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 2d6fd07..6151a9a 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 @@ -33,6 +33,7 @@ import org.apache.james.mailbox.elasticsearch.IndexCreationFactory; import org.apache.james.mailbox.elasticsearch.NodeMappingFactory; import org.apache.james.mailbox.elasticsearch.events.ElasticSearchListeningMessageSearchIndex; import org.apache.james.mailbox.store.extractor.TextExtractor; +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.elasticsearch.client.Client; @@ -52,6 +53,7 @@ public class ElasticSearchMailboxModule extends AbstractModule { protected void configure() { bind(ElasticSearchListeningMessageSearchIndex.class).in(Scopes.SINGLETON); bind(MessageSearchIndex.class).to(ElasticSearchListeningMessageSearchIndex.class); + bind(ListeningMessageSearchIndex.class).to(ElasticSearchListeningMessageSearchIndex.class); bind(TikaTextExtractor.class).in(Scopes.SINGLETON); bind(TextExtractor.class).to(TikaTextExtractor.class); http://git-wip-us.apache.org/repos/asf/james-project/blob/b57b4447/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/JMXServerModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/JMXServerModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/JMXServerModule.java index cefbb8e..9d66b8a 100644 --- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/JMXServerModule.java +++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/JMXServerModule.java @@ -26,11 +26,15 @@ import org.apache.james.adapter.mailbox.MailboxCopierManagementMBean; import org.apache.james.adapter.mailbox.MailboxManagerManagement; import org.apache.james.adapter.mailbox.MailboxManagerManagementMBean; import org.apache.james.adapter.mailbox.MailboxManagerResolver; +import org.apache.james.adapter.mailbox.ReIndexerManagement; +import org.apache.james.adapter.mailbox.ReIndexerManagementMBean; import org.apache.james.domainlist.api.DomainListManagementMBean; import org.apache.james.domainlist.lib.DomainListManagement; import org.apache.james.lifecycle.api.Configurable; import org.apache.james.mailbox.copier.MailboxCopier; import org.apache.james.mailbox.copier.MailboxCopierImpl; +import org.apache.james.mailbox.indexer.ReIndexer; +import org.apache.james.mailbox.indexer.ReIndexerImpl; import org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean; import org.apache.james.mailetcontainer.impl.JamesMailSpooler; import org.apache.james.rrt.api.RecipientRewriteTableManagementMBean; @@ -55,6 +59,7 @@ public class JMXServerModule extends AbstractModule { private static final String JMX_COMPONENT_RECIPIENTREWRITETABLE = "org.apache.james:type=component,name=recipientrewritetable"; private static final String JMX_COMPONENT_NAME_MAILBOXMANAGERBEAN = "org.apache.james:type=component,name=mailboxmanagerbean"; private static final String JMX_COMPONENT_MAILBOXCOPIER = "org.apache.james:type=component,name=mailboxcopier"; + private static final String JMX_COMPONENT_REINDEXER = "org.apache.james:type=component,name=reindexerbean"; @Override protected void configure() { @@ -66,6 +71,8 @@ public class JMXServerModule extends AbstractModule { bind(MailboxManagerManagementMBean.class).to(MailboxManagerManagement.class); bind(RecipientRewriteTableManagementMBean.class).to(RecipientRewriteTableManagement.class); bind(MailSpoolerMBean.class).to(JamesMailSpooler.class); + bind(ReIndexer.class).annotatedWith(Names.named("reindexer")).to(ReIndexerImpl.class); + bind(ReIndexerManagementMBean.class).to(ReIndexerManagement.class); Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(JMXModuleConfigurationPerformer.class); } @@ -78,6 +85,7 @@ public class JMXServerModule extends AbstractModule { private final RecipientRewriteTableManagementMBean recipientRewriteTableManagementMBean; private final MailboxManagerManagementMBean mailboxManagerManagementMBean; private final MailboxCopierManagementMBean mailboxCopierManagementMBean; + private final ReIndexerManagementMBean reIndexerManagementMBean; @Inject public JMXModuleConfigurationPerformer(JMXServer jmxServer, @@ -85,13 +93,15 @@ public class JMXServerModule extends AbstractModule { UsersRepositoryManagementMBean usersRepositoryManagementMBean, RecipientRewriteTableManagementMBean recipientRewriteTableManagementMBean, MailboxManagerManagementMBean mailboxManagerManagementMBean, - MailboxCopierManagementMBean mailboxCopierManagementMBean) { + MailboxCopierManagementMBean mailboxCopierManagementMBean, + ReIndexerManagementMBean reIndexerManagementMBean) { this.jmxServer = jmxServer; this.domainListManagementMBean = domainListManagementMBean; this.usersRepositoryManagementMBean = usersRepositoryManagementMBean; this.recipientRewriteTableManagementMBean = recipientRewriteTableManagementMBean; this.mailboxManagerManagementMBean = mailboxManagerManagementMBean; this.mailboxCopierManagementMBean = mailboxCopierManagementMBean; + this.reIndexerManagementMBean = reIndexerManagementMBean; } @Override @@ -103,6 +113,7 @@ public class JMXServerModule extends AbstractModule { jmxServer.register(JMX_COMPONENT_RECIPIENTREWRITETABLE, recipientRewriteTableManagementMBean); jmxServer.register(JMX_COMPONENT_NAME_MAILBOXMANAGERBEAN, mailboxManagerManagementMBean); jmxServer.register(JMX_COMPONENT_MAILBOXCOPIER, mailboxCopierManagementMBean); + jmxServer.register(JMX_COMPONENT_REINDEXER, reIndexerManagementMBean); } catch (Exception e) { Throwables.propagate(e); } http://git-wip-us.apache.org/repos/asf/james-project/blob/b57b4447/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/ReIndexerManagement.java ---------------------------------------------------------------------- diff --git a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/ReIndexerManagement.java b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/ReIndexerManagement.java index 882f301..6ca3e0a 100644 --- a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/ReIndexerManagement.java +++ b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/ReIndexerManagement.java @@ -19,15 +19,19 @@ package org.apache.james.adapter.mailbox; +import javax.inject.Inject; +import javax.inject.Named; + import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.indexer.ReIndexer; import org.apache.james.mailbox.model.MailboxPath; public class ReIndexerManagement implements ReIndexerManagementMBean { - private final ReIndexer reIndexer; + private ReIndexer reIndexer; - public ReIndexerManagement(ReIndexer reIndexer) { + @Inject + public void setReIndexer(@Named("reindexer") ReIndexer reIndexer) { this.reIndexer = reIndexer; } http://git-wip-us.apache.org/repos/asf/james-project/blob/b57b4447/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml ---------------------------------------------------------------------- diff --git a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml index be39003..2175f47 100644 --- a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml +++ b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml @@ -274,9 +274,7 @@ <property name="quotaRootResolver" ref="quotaRootResolver"/> <property name="quotaManager" ref="quotaManager"/> </bean> - <bean id="reindexermanagement" class="org.apache.james.adapter.mailbox.ReIndexerManagement"> - <constructor-arg index="0" ref="reindexer"/> - </bean> + <bean id="reindexermanagement" class="org.apache.james.adapter.mailbox.ReIndexerManagement"/> <bean id="sievemanagerbean" class="org.apache.james.sieverepository.lib.SieveRepositoryManagement"/> <!-- <bean id="james23importermanagement" class="org.apache.james.container.spring.tool.James23ImporterManagement" /> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
