Author: davsclaus
Date: Sun Mar 27 09:36:57 2011
New Revision: 1085897
URL: http://svn.apache.org/viewvc?rev=1085897&view=rev
Log:
CAMEL-3811: Fixed jmx to not display route policy list as unavailable in jmx
consoles.
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRoutePolicyTest.java
- copied, changed from r1085677,
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRegisterRouteTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java?rev=1085897&r1=1085896&r2=1085897&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
Sun Mar 27 09:36:57 2011
@@ -111,17 +111,22 @@ public class ManagedRoute extends Manage
@ManagedAttribute(description = "Route Policy List")
public String getRoutePolicyList() {
List<RoutePolicy> policyList =
route.getRouteContext().getRoutePolicyList();
- if (policyList != null) {
- StringBuilder sb = new StringBuilder();
- for (RoutePolicy policy : policyList) {
- sb.append(policy.getClass().getSimpleName());
-
sb.append("(").append(ObjectHelper.getIdentityHashCode(policy)).append(")");
+
+ if (policyList == null || policyList.isEmpty()) {
+ // return an empty string to have it displayed nicely in JMX
consoles
+ return "";
+ }
+
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < policyList.size(); i++) {
+ RoutePolicy policy = policyList.get(i);
+ sb.append(policy.getClass().getSimpleName());
+
sb.append("(").append(ObjectHelper.getIdentityHashCode(policy)).append(")");
+ if (i < policyList.size() - 1) {
sb.append(", ");
}
- sb = sb.delete(sb.lastIndexOf(", "), sb.length() - 1);
- return sb.toString();
}
- return null;
+ return sb.toString();
}
@ManagedOperation(description = "Start route")
Copied:
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRoutePolicyTest.java
(from r1085677,
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRegisterRouteTest.java)
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRoutePolicyTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRoutePolicyTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRegisterRouteTest.java&r1=1085677&r2=1085897&rev=1085897&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRegisterRouteTest.java
(original)
+++
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedRoutePolicyTest.java
Sun Mar 27 09:36:57 2011
@@ -22,11 +22,12 @@ import javax.management.ObjectName;
import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.ThrottlingInflightRoutePolicy;
/**
* @version
*/
-public class ManagedRegisterRouteTest extends ManagementTestSupport {
+public class ManagedRoutePolicyTest extends ManagementTestSupport {
public void testRoutes() throws Exception {
MBeanServer mbeanServer = getMBeanServer();
@@ -51,15 +52,10 @@ public class ManagedRegisterRouteTest ex
String state = (String) mbeanServer.getAttribute(on, "State");
assertEquals("Should be started", ServiceStatus.Started.name(), state);
- // stop the route
- context.stopRoute(context.getRouteDefinitions().get(0));
-
- registered = mbeanServer.isRegistered(on);
- assertEquals("Should be registered", true, registered);
-
- // should be stopped, eg its removed
- state = (String) mbeanServer.getAttribute(on, "State");
- assertEquals("Should be stopped", ServiceStatus.Stopped.name(), state);
+ // should have route policy
+ String policy = (String) mbeanServer.getAttribute(on,
"RoutePolicyList");
+ assertNotNull(policy);
+ assertTrue("Should be a throttling, was: " + policy,
policy.startsWith("ThrottlingInflightRoutePolicy"));
}
@Override
@@ -67,7 +63,8 @@ public class ManagedRegisterRouteTest ex
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:start").to("log:foo").to("mock:result");
+ from("direct:start").routePolicy(new
ThrottlingInflightRoutePolicy())
+ .to("log:foo").to("mock:result");
}
};
}