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");