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 ro...@apache.org on 2016/11/30 14:01:35 UTC

[16/16] james-project git commit: JAMES-1868 DropWizardFactory should not be Configurable, otherwise Spring fails

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 <bt...@linagora.com>
Authored: Wed Nov 30 09:59:01 2016 +0700
Committer: Benoit Tellier <bt...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org