From 6eabb5cbd84147b733f888c8cadf7cffe40122e7 Mon Sep 17 00:00:00 2001 From: Muhammad Uzair Baig Date: Mon, 10 Sep 2018 11:19:08 +0100 Subject: [PATCH] Create static object of metrics registry --- .../interceptor/MetricRegistryProducer.java | 14 +++++++++++--- .../interceptor/MetricRegistryProducerTest.java | 11 ++++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/metrics-interceptor/src/main/java/uk/gov/justice/services/metrics/interceptor/MetricRegistryProducer.java b/metrics-interceptor/src/main/java/uk/gov/justice/services/metrics/interceptor/MetricRegistryProducer.java index e387451..ab376a5 100644 --- a/metrics-interceptor/src/main/java/uk/gov/justice/services/metrics/interceptor/MetricRegistryProducer.java +++ b/metrics-interceptor/src/main/java/uk/gov/justice/services/metrics/interceptor/MetricRegistryProducer.java @@ -10,10 +10,18 @@ @ApplicationScoped public class MetricRegistryProducer { + private static final MetricRegistry METRICS_REGISTRY = createMetricsRegistry(); + @Produces public MetricRegistry metricRegistry() { - final MetricRegistry metricRegistry = new MetricRegistry(); - JmxReporter.forRegistry(metricRegistry).inDomain("uk.gov.justice.metrics").build().start(); - return metricRegistry; + return METRICS_REGISTRY; + } + + private static MetricRegistry createMetricsRegistry() { + + final MetricRegistry aMetricsRegistry = new MetricRegistry(); + JmxReporter.forRegistry(aMetricsRegistry).inDomain("uk.gov.justice.metrics").build().start(); + + return aMetricsRegistry; } } \ No newline at end of file diff --git a/metrics-interceptor/src/test/java/uk/gov/justice/services/metrics/interceptor/MetricRegistryProducerTest.java b/metrics-interceptor/src/test/java/uk/gov/justice/services/metrics/interceptor/MetricRegistryProducerTest.java index 460abb2..ad4ca19 100644 --- a/metrics-interceptor/src/test/java/uk/gov/justice/services/metrics/interceptor/MetricRegistryProducerTest.java +++ b/metrics-interceptor/src/test/java/uk/gov/justice/services/metrics/interceptor/MetricRegistryProducerTest.java @@ -3,15 +3,20 @@ import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.CoreMatchers.nullValue; +import static org.hamcrest.CoreMatchers.sameInstance; +import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; +import com.codahale.metrics.MetricRegistry; import org.junit.Test; public class MetricRegistryProducerTest { @Test - public void shouldProduceRegistry() throws Exception { - MetricRegistryProducer producer = new MetricRegistryProducer(); - assertThat(producer.metricRegistry(), not(nullValue())); + public void shouldProduceRegistry() { + final MetricRegistryProducer producer = new MetricRegistryProducer(); + final MetricRegistry actual = producer.metricRegistry(); + assertThat(actual, not(nullValue())); + assertThat(actual, is(sameInstance(producer.metricRegistry()))); } } \ No newline at end of file