You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/11/24 11:27:25 UTC

[1/3] git commit: CAMEL-7004: Added jmx attributes for total/started routes on CamelContextMBean

Updated Branches:
  refs/heads/camel-2.11.x 3457faa61 -> 0785cac1e
  refs/heads/camel-2.12.x 3b8d80d2d -> 14a77ae9c
  refs/heads/master 114ec60f7 -> 79700e1b7


CAMEL-7004: Added jmx attributes for total/started routes on CamelContextMBean


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/79700e1b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/79700e1b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/79700e1b

Branch: refs/heads/master
Commit: 79700e1b7545836fe1887daea5c5e68fceb4e372
Parents: 114ec60
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Nov 24 11:27:20 2013 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Nov 24 11:27:20 2013 +0100

----------------------------------------------------------------------
 .../management/mbean/ManagedCamelContextMBean.java   |  6 ++++++
 .../org/apache/camel/impl/DefaultCamelContext.java   |  7 ++++++-
 .../camel/management/mbean/ManagedCamelContext.java  | 15 +++++++++++++++
 .../camel/management/ManagedCamelContextTest.java    |  6 ++++++
 4 files changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/79700e1b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
index 566f6e0..5ec2a4c 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
@@ -86,6 +86,12 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean
     @ManagedAttribute(description = "Current number of inflight Exchanges")
     Integer getInflightExchanges();
 
+    @ManagedAttribute(description = "Total number of routes")
+    Integer getTotalRoutes();
+
+    @ManagedAttribute(description = "Current number of started routes")
+    Integer getStartedRoutes();
+
     @ManagedAttribute(description = "Shutdown timeout")
     void setTimeout(long timeout);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/79700e1b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 9fe8bb1..bf90c7b 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -636,9 +636,14 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
         return routeStartupOrder;
     }
 
+    @SuppressWarnings("unchecked")
     public List<Route> getRoutes() {
         // lets return a copy of the collection as objects are removed later when services are stopped
-        return new ArrayList<Route>(routes);
+        if (routes.isEmpty()) {
+            return Collections.EMPTY_LIST;
+        } else {
+            return new ArrayList<Route>(routes);
+        }
     }
 
     public Route getRoute(String id) {

http://git-wip-us.apache.org/repos/asf/camel/blob/79700e1b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index d540428..6bfdfe4 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -36,6 +36,7 @@ import org.apache.camel.ComponentConfiguration;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ManagementStatisticsLevel;
 import org.apache.camel.ProducerTemplate;
+import org.apache.camel.Route;
 import org.apache.camel.TimerListener;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
@@ -131,6 +132,20 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
         return context.getInflightRepository().size();
     }
 
+    public Integer getTotalRoutes() {
+        return context.getRoutes().size();
+    }
+
+    public Integer getStartedRoutes() {
+        int started = 0;
+        for (Route route : context.getRoutes()) {
+            if (context.getRouteStatus(route.getId()).isStarted()) {
+                started++;
+            }
+        }
+        return started;
+    }
+
     public void setTimeout(long timeout) {
         context.getShutdownStrategy().setTimeout(timeout);
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/79700e1b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
index ba41132..c25cf1f 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
@@ -65,6 +65,12 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
         Boolean messageHistory = (Boolean) mbeanServer.getAttribute(on, "MessageHistory");
         assertEquals(Boolean.TRUE, messageHistory);
 
+        Integer total = (Integer) mbeanServer.getAttribute(on, "TotalRoutes");
+        assertEquals(2, total.intValue());
+
+        Integer started = (Integer) mbeanServer.getAttribute(on, "StartedRoutes");
+        assertEquals(2, started.intValue());
+
         // invoke operations
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");


[3/3] git commit: CAMEL-7004: Added jmx attributes for total/started routes on CamelContextMBean

Posted by da...@apache.org.
CAMEL-7004: Added jmx attributes for total/started routes on CamelContextMBean

Conflicts:
	camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0785cac1
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0785cac1
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0785cac1

Branch: refs/heads/camel-2.11.x
Commit: 0785cac1e37788127ffe9e2396a48d513d900feb
Parents: 3457faa
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Nov 24 11:27:20 2013 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Nov 24 11:29:07 2013 +0100

----------------------------------------------------------------------
 .../management/mbean/ManagedCamelContextMBean.java   |  6 ++++++
 .../org/apache/camel/impl/DefaultCamelContext.java   |  7 ++++++-
 .../camel/management/mbean/ManagedCamelContext.java  | 15 +++++++++++++++
 .../camel/management/ManagedCamelContextTest.java    |  6 ++++++
 4 files changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/0785cac1/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
index 002f556..ed6e35e 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
@@ -72,6 +72,12 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean
     @ManagedAttribute(description = "Current number of inflight Exchanges")
     Integer getInflightExchanges();
 
+    @ManagedAttribute(description = "Total number of routes")
+    Integer getTotalRoutes();
+
+    @ManagedAttribute(description = "Current number of started routes")
+    Integer getStartedRoutes();
+
     @ManagedAttribute(description = "Shutdown timeout")
     void setTimeout(long timeout);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/0785cac1/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index c4dd58a..5e7c0e6 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -617,9 +617,14 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
         return routeStartupOrder;
     }
 
+    @SuppressWarnings("unchecked")
     public List<Route> getRoutes() {
         // lets return a copy of the collection as objects are removed later when services are stopped
-        return new ArrayList<Route>(routes);
+        if (routes.isEmpty()) {
+            return Collections.EMPTY_LIST;
+        } else {
+            return new ArrayList<Route>(routes);
+        }
     }
 
     public Route getRoute(String id) {

http://git-wip-us.apache.org/repos/asf/camel/blob/0785cac1/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index 4d58660..ef3bae6 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -32,6 +32,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ManagementStatisticsLevel;
 import org.apache.camel.ProducerTemplate;
+import org.apache.camel.Route;
 import org.apache.camel.TimerListener;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
@@ -108,6 +109,20 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
         return context.getInflightRepository().size();
     }
 
+    public Integer getTotalRoutes() {
+        return context.getRoutes().size();
+    }
+
+    public Integer getStartedRoutes() {
+        int started = 0;
+        for (Route route : context.getRoutes()) {
+            if (context.getRouteStatus(route.getId()).isStarted()) {
+                started++;
+            }
+        }
+        return started;
+    }
+
     public void setTimeout(long timeout) {
         context.getShutdownStrategy().setTimeout(timeout);
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/0785cac1/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
index 417d7c9..d8c02bc 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
@@ -57,6 +57,12 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
         String status = (String) mbeanServer.getAttribute(on, "State");
         assertEquals("Started", status);
 
+        Integer total = (Integer) mbeanServer.getAttribute(on, "TotalRoutes");
+        assertEquals(2, total.intValue());
+
+        Integer started = (Integer) mbeanServer.getAttribute(on, "StartedRoutes");
+        assertEquals(2, started.intValue());
+
         // invoke operations
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");


[2/3] git commit: CAMEL-7004: Added jmx attributes for total/started routes on CamelContextMBean

Posted by da...@apache.org.
CAMEL-7004: Added jmx attributes for total/started routes on CamelContextMBean


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/14a77ae9
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/14a77ae9
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/14a77ae9

Branch: refs/heads/camel-2.12.x
Commit: 14a77ae9c87cb2dfa99df12b882e2e08f44740e8
Parents: 3b8d80d
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Nov 24 11:27:20 2013 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Nov 24 11:27:35 2013 +0100

----------------------------------------------------------------------
 .../management/mbean/ManagedCamelContextMBean.java   |  6 ++++++
 .../org/apache/camel/impl/DefaultCamelContext.java   |  7 ++++++-
 .../camel/management/mbean/ManagedCamelContext.java  | 15 +++++++++++++++
 .../camel/management/ManagedCamelContextTest.java    |  6 ++++++
 4 files changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/14a77ae9/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
index 566f6e0..5ec2a4c 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
@@ -86,6 +86,12 @@ public interface ManagedCamelContextMBean extends ManagedPerformanceCounterMBean
     @ManagedAttribute(description = "Current number of inflight Exchanges")
     Integer getInflightExchanges();
 
+    @ManagedAttribute(description = "Total number of routes")
+    Integer getTotalRoutes();
+
+    @ManagedAttribute(description = "Current number of started routes")
+    Integer getStartedRoutes();
+
     @ManagedAttribute(description = "Shutdown timeout")
     void setTimeout(long timeout);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/14a77ae9/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 9fe8bb1..bf90c7b 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -636,9 +636,14 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
         return routeStartupOrder;
     }
 
+    @SuppressWarnings("unchecked")
     public List<Route> getRoutes() {
         // lets return a copy of the collection as objects are removed later when services are stopped
-        return new ArrayList<Route>(routes);
+        if (routes.isEmpty()) {
+            return Collections.EMPTY_LIST;
+        } else {
+            return new ArrayList<Route>(routes);
+        }
     }
 
     public Route getRoute(String id) {

http://git-wip-us.apache.org/repos/asf/camel/blob/14a77ae9/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index b41ff35..29d4521 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -36,6 +36,7 @@ import org.apache.camel.ComponentConfiguration;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ManagementStatisticsLevel;
 import org.apache.camel.ProducerTemplate;
+import org.apache.camel.Route;
 import org.apache.camel.TimerListener;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
@@ -131,6 +132,20 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
         return context.getInflightRepository().size();
     }
 
+    public Integer getTotalRoutes() {
+        return context.getRoutes().size();
+    }
+
+    public Integer getStartedRoutes() {
+        int started = 0;
+        for (Route route : context.getRoutes()) {
+            if (context.getRouteStatus(route.getId()).isStarted()) {
+                started++;
+            }
+        }
+        return started;
+    }
+
     public void setTimeout(long timeout) {
         context.getShutdownStrategy().setTimeout(timeout);
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/14a77ae9/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
index 309a378..5b8ec5e 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
@@ -65,6 +65,12 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
         Boolean messageHistory = (Boolean) mbeanServer.getAttribute(on, "MessageHistory");
         assertEquals(Boolean.TRUE, messageHistory);
 
+        Integer total = (Integer) mbeanServer.getAttribute(on, "TotalRoutes");
+        assertEquals(2, total.intValue());
+
+        Integer started = (Integer) mbeanServer.getAttribute(on, "StartedRoutes");
+        assertEquals(2, started.intValue());
+
         // invoke operations
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");