JAMES-1868 DropWizardFactory should not be Configurable, otherwise Spring fails
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7bcc6201 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7bcc6201 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7bcc6201 Branch: refs/heads/master Commit: 7bcc6201bac978106381a6b431796c6f62704786 Parents: 6c9c5e6 Author: Benoit Tellier <btell...@linagora.com> Authored: Wed Nov 30 09:59:01 2016 +0700 Committer: Benoit Tellier <btell...@linagora.com> Committed: Wed Nov 30 17:36:41 2016 +0700 ---------------------------------------------------------------------- .../modules/server/DropWizardMetricsModule.java | 24 ++++++++++++++++---- .../dropwizard/DropWizardMetricFactory.java | 7 ++---- 2 files changed, 21 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/7bcc6201/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java index 8e77370..e3ac9f7 100644 --- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java +++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java @@ -50,17 +50,17 @@ public class DropWizardMetricsModule extends AbstractModule { public static class DropWizardConfigurationPerformer implements ConfigurationPerformer { public static final HierarchicalConfiguration NO_CONFIGURATION = null; - private final DropWizardMetricFactory metricFactory; + private final DropWizardInitializer dropWizardInitializer; @Inject - public DropWizardConfigurationPerformer(DropWizardMetricFactory metricFactory) { - this.metricFactory = metricFactory; + public DropWizardConfigurationPerformer(DropWizardInitializer dropWizardInitializer) { + this.dropWizardInitializer = dropWizardInitializer; } @Override public void initModule() { try { - metricFactory.configure(NO_CONFIGURATION); + dropWizardInitializer.configure(NO_CONFIGURATION); } catch (ConfigurationException e) { throw Throwables.propagate(e); } @@ -68,7 +68,21 @@ public class DropWizardMetricsModule extends AbstractModule { @Override public List<Class<? extends Configurable>> forClasses() { - return ImmutableList.of(DropWizardMetricFactory.class); + return ImmutableList.of(DropWizardInitializer.class); + } + } + + public static class DropWizardInitializer implements Configurable { + private final DropWizardMetricFactory dropWizardMetricFactory; + + @Inject + public DropWizardInitializer(DropWizardMetricFactory dropWizardMetricFactory) { + this.dropWizardMetricFactory = dropWizardMetricFactory; + } + + @Override + public void configure(HierarchicalConfiguration config) throws ConfigurationException { + dropWizardMetricFactory.start(); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/7bcc6201/server/container/metrics/metrics-dropwizard/src/main/java/org/apache/james/metrics/dropwizard/DropWizardMetricFactory.java ---------------------------------------------------------------------- diff --git a/server/container/metrics/metrics-dropwizard/src/main/java/org/apache/james/metrics/dropwizard/DropWizardMetricFactory.java b/server/container/metrics/metrics-dropwizard/src/main/java/org/apache/james/metrics/dropwizard/DropWizardMetricFactory.java index 786045f..8c7f731 100644 --- a/server/container/metrics/metrics-dropwizard/src/main/java/org/apache/james/metrics/dropwizard/DropWizardMetricFactory.java +++ b/server/container/metrics/metrics-dropwizard/src/main/java/org/apache/james/metrics/dropwizard/DropWizardMetricFactory.java @@ -22,15 +22,13 @@ package org.apache.james.metrics.dropwizard; import javax.annotation.PreDestroy; import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.HierarchicalConfiguration; -import org.apache.james.lifecycle.api.Configurable; import org.apache.james.metrics.api.Metric; import org.apache.james.metrics.api.MetricFactory; import com.codahale.metrics.JmxReporter; import com.codahale.metrics.MetricRegistry; -public class DropWizardMetricFactory implements MetricFactory, Configurable { +public class DropWizardMetricFactory implements MetricFactory { private final MetricRegistry metricRegistry; private final JmxReporter jmxReporter; @@ -46,8 +44,7 @@ public class DropWizardMetricFactory implements MetricFactory, Configurable { return new DropWizardMetric(metricRegistry.counter(name)); } - @Override - public void configure(HierarchicalConfiguration config) throws ConfigurationException { + public void start() throws ConfigurationException { jmxReporter.start(); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org