This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 3fd881654322c1c364e60437bd6f1e7a50d73dc2 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue May 12 07:10:30 2020 +0200 Fixed test and also make ManagementStrategy a static service as there is only one per context. --- .../java/org/apache/camel/spi/ManagementStrategy.java | 3 ++- .../apache/camel/management/JmxManagementStrategy.java | 16 ++++++++++++---- .../camel/management/ManagedNonManagedServiceTest.java | 2 +- .../ManagedProducerRouteAddRemoveRegisterAlwaysTest.java | 2 +- .../camel/management/ManagedRouteAddRemoveTest.java | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/ManagementStrategy.java b/core/camel-api/src/main/java/org/apache/camel/spi/ManagementStrategy.java index 78fe47d..e880506 100644 --- a/core/camel-api/src/main/java/org/apache/camel/spi/ManagementStrategy.java +++ b/core/camel-api/src/main/java/org/apache/camel/spi/ManagementStrategy.java @@ -20,6 +20,7 @@ import java.util.List; import org.apache.camel.NamedNode; import org.apache.camel.Service; +import org.apache.camel.StaticService; /** * Strategy for management. @@ -31,7 +32,7 @@ import org.apache.camel.Service; * @see ManagementObjectNameStrategy * @see org.apache.camel.spi.ManagementAgent */ -public interface ManagementStrategy extends Service { +public interface ManagementStrategy extends StaticService { /** * Adds a managed object allowing the ManagementStrategy implementation to record or expose diff --git a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementStrategy.java index 65ea9b8..7a1f969 100644 --- a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementStrategy.java +++ b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementStrategy.java @@ -16,20 +16,19 @@ */ package org.apache.camel.management; +import javax.management.ObjectName; import java.util.ArrayList; import java.util.List; -import javax.management.ObjectName; - import org.apache.camel.CamelContext; -import org.apache.camel.ExtendedCamelContext; import org.apache.camel.NamedNode; +import org.apache.camel.api.management.ManagedAttribute; import org.apache.camel.api.management.ManagedCamelContext; +import org.apache.camel.api.management.ManagedResource; import org.apache.camel.impl.engine.DefaultManagementStrategy; import org.apache.camel.spi.ManagementAgent; import org.apache.camel.spi.ManagementObjectNameStrategy; import org.apache.camel.spi.ManagementObjectStrategy; -import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,11 +40,13 @@ import org.slf4j.LoggerFactory; * * @see org.apache.camel.spi.ManagementStrategy */ +@ManagedResource(description = "Managed JmxManagementStrategy") public class JmxManagementStrategy extends DefaultManagementStrategy { private static final Logger LOG = LoggerFactory.getLogger(JmxManagementStrategy.class); private final List<Object> managed = new ArrayList<>(); + private int counter; public JmxManagementStrategy() { } @@ -65,6 +66,7 @@ public class JmxManagementStrategy extends DefaultManagementStrategy { ObjectName objectName = getManagementObjectNameStrategy().getObjectName(managedObject); if (objectName != null) { getManagementAgent().register(managedObject, objectName); + counter++; } } @@ -77,6 +79,7 @@ public class JmxManagementStrategy extends DefaultManagementStrategy { ObjectName objectName = getManagementObjectNameStrategy().getObjectName(managedObject); if (objectName != null) { getManagementAgent().unregister(objectName); + counter--; } } @@ -110,6 +113,11 @@ public class JmxManagementStrategy extends DefaultManagementStrategy { return true; } + @ManagedAttribute(description = "Number of managed MBean instances") + public int getManagedCount() { + return counter; + } + @Override protected void doInit() throws Exception { LOG.info("JMX is enabled"); diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedNonManagedServiceTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedNonManagedServiceTest.java index 3642872..e9d545e 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedNonManagedServiceTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedNonManagedServiceTest.java @@ -29,7 +29,7 @@ import org.junit.Test; public class ManagedNonManagedServiceTest extends ManagementTestSupport { - private static final int SERVICES = 11; + private static final int SERVICES = 10; @Test public void testService() throws Exception { diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedProducerRouteAddRemoveRegisterAlwaysTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedProducerRouteAddRemoveRegisterAlwaysTest.java index ac22496..ccbb65a 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedProducerRouteAddRemoveRegisterAlwaysTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedProducerRouteAddRemoveRegisterAlwaysTest.java @@ -28,7 +28,7 @@ import org.junit.Test; public class ManagedProducerRouteAddRemoveRegisterAlwaysTest extends ManagementTestSupport { - private static final int SERVICES = 11; + private static final int SERVICES = 10; @Override protected CamelContext createCamelContext() throws Exception { diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteAddRemoveTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteAddRemoveTest.java index fff6e2d..702ff39 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteAddRemoveTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteAddRemoveTest.java @@ -33,7 +33,7 @@ import org.junit.Test; */ public class ManagedRouteAddRemoveTest extends ManagementTestSupport { - private static final int SERVICES = 11; + private static final int SERVICES = 10; @Override protected RouteBuilder createRouteBuilder() throws Exception {