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 ma...@apache.org on 2016/07/26 13:11:31 UTC

[2/5] james-project git commit: JAMES-1810 Register ReIndexer in JMX server

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 <ad...@linagora.com>
Authored: Tue Jul 26 11:20:12 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org