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 {

Reply via email to