JAMES-1982 Set logger on MailboxManagement to avoid NPE
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/8942eaff Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/8942eaff Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/8942eaff Branch: refs/heads/master Commit: 8942eaff850265defa6c9c6e629350067d65a1f9 Parents: 95d241d Author: benwa <btell...@linagora.com> Authored: Sat Apr 1 12:08:11 2017 +0700 Committer: benwa <btell...@linagora.com> Committed: Mon Apr 3 18:09:32 2017 +0700 ---------------------------------------------------------------------- .../james/modules/server/JMXServerModule.java | 36 +++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/8942eaff/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java index fc97468..626ef3a 100644 --- a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java +++ b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java @@ -47,11 +47,13 @@ import org.apache.james.user.api.UsersRepositoryManagementMBean; import org.apache.james.user.lib.UsersRepositoryManagement; import org.apache.james.utils.ConfigurationPerformer; import org.apache.james.utils.GuiceMailboxManagerResolver; +import org.slf4j.LoggerFactory; import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; import com.google.inject.AbstractModule; import com.google.inject.Inject; +import com.google.inject.Scopes; import com.google.inject.Singleton; import com.google.inject.multibindings.Multibinder; import com.google.inject.name.Names; @@ -69,6 +71,15 @@ public class JMXServerModule extends AbstractModule { @Override protected void configure() { + bind(ReIndexerManagement.class).in(Scopes.SINGLETON); + bind(QuotaManagement.class).in(Scopes.SINGLETON); + bind(RecipientRewriteTableManagement.class).in(Scopes.SINGLETON); + bind(MailboxManagerManagement.class).in(Scopes.SINGLETON); + bind(UsersRepositoryManagement.class).in(Scopes.SINGLETON); + bind(DomainListManagement.class).in(Scopes.SINGLETON); + bind(MailboxCopierManagement.class).in(Scopes.SINGLETON); + bind(SieveRepositoryManagement.class).in(Scopes.SINGLETON); + bind(MailboxCopier.class).annotatedWith(Names.named("mailboxcopier")).to(MailboxCopierImpl.class); bind(MailboxCopierManagementMBean.class).to(MailboxCopierManagement.class); bind(MailboxManagerResolver.class).to(GuiceMailboxManagerResolver.class); @@ -81,7 +92,9 @@ public class JMXServerModule extends AbstractModule { bind(ReIndexerManagementMBean.class).to(ReIndexerManagement.class); bind(QuotaManagementMBean.class).to(QuotaManagement.class); bind(SieveRepositoryManagementMBean.class).to(SieveRepositoryManagement.class); - Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(JMXModuleConfigurationPerformer.class); + Multibinder<ConfigurationPerformer> configurationMultibinder = Multibinder.newSetBinder(binder(), ConfigurationPerformer.class); + configurationMultibinder.addBinding().to(JMXModuleConfigurationPerformer.class); + configurationMultibinder.addBinding().to(MailboxManagementLogSetter.class); } @Singleton @@ -141,4 +154,25 @@ public class JMXServerModule extends AbstractModule { } } + @Singleton + public static class MailboxManagementLogSetter implements ConfigurationPerformer { + + private final MailboxManagerManagement mailboxManagerManagement; + + @Inject + public MailboxManagementLogSetter(MailboxManagerManagement mailboxManagerManagement) { + this.mailboxManagerManagement = mailboxManagerManagement; + } + + @Override + public void initModule() { + mailboxManagerManagement.setLog(LoggerFactory.getLogger(MailboxManagerManagement.class)); + } + + @Override + public List<Class<? extends Configurable>> forClasses() { + return ImmutableList.of(); + } + } + } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org