You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by so...@apache.org on 2026/10/13 04:26:56 UTC

(wicket) 01/01: Fixes Issue #1662: created JmxReporter is stored as private field

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch metric-fix
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 596dc9e00f8f9aa736ee7ba0e40b8aaf7ca2d3f8
Author: Maxim Solodovnik <so...@apache.org>
AuthorDate: Tue Oct 13 11:26:36 2026 +0700

    Fixes Issue #1662: created JmxReporter is stored as private field
---
 .../wicket/metrics/WicketMetricsSettings.java      | 25 +++++++++++++++-------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/wicket-experimental/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetricsSettings.java b/wicket-experimental/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetricsSettings.java
index 0d705eb062..001929d4a5 100644
--- a/wicket-experimental/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetricsSettings.java
+++ b/wicket-experimental/wicket-metrics/src/main/java/org/apache/wicket/metrics/WicketMetricsSettings.java
@@ -21,7 +21,7 @@ import com.codahale.metrics.jmx.JmxReporter;
 
 /**
  * Settings to configure wicket metrics
- * 
+ *
  * @author Tobias Soloschenko
  *
  */
@@ -32,9 +32,11 @@ public class WicketMetricsSettings
 
 	private String prefix = "application/";
 
+	private JmxReporter reporter = null;
+
 	/**
 	 * If the metrics should be enabled
-	 * 
+	 *
 	 * @param enabled
 	 *            if the metrics should be enabled
 	 */
@@ -45,7 +47,7 @@ public class WicketMetricsSettings
 
 	/**
 	 * If the wicket metrics are enabled
-	 * 
+	 *
 	 * @return if the wicket metrics are enabled
 	 */
 	public boolean isEnabled()
@@ -55,7 +57,7 @@ public class WicketMetricsSettings
 
 	/**
 	 * Gets the prefix.
-	 * 
+	 *
 	 * @return the prefix
 	 */
 	public String getPrefix()
@@ -65,7 +67,7 @@ public class WicketMetricsSettings
 
 	/**
 	 * Sets the prefix to be used for the statistics
-	 * 
+	 *
 	 * @param prefix
 	 *            the prefix to be used
 	 */
@@ -84,7 +86,11 @@ public class WicketMetricsSettings
 	public void startJmxReporter()
 	{
 		MetricRegistry metricRegistry = WicketMetrics.getMetricRegistry();
-		JmxReporter.forRegistry(metricRegistry).build().start();
+		if (reporter == null)
+		{
+			reporter = JmxReporter.forRegistry(metricRegistry).build();
+			reporter.start();
+		}
 	}
 
 	/**
@@ -92,7 +98,10 @@ public class WicketMetricsSettings
 	 */
 	public void stopJmxReporter()
 	{
-		MetricRegistry metricRegistry = WicketMetrics.getMetricRegistry();
-		JmxReporter.forRegistry(metricRegistry).build().stop();
+		if (reporter != null)
+		{
+			reporter.stop();
+			reporter = null;
+		}
 	}
 }