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 2010/05/19 09:34:37 UTC
svn commit: r946071 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/impl/DefaultCamelContext.java
test/java/org/apache/camel/management/ManagedDualCamelContextTest.java
Author: davsclaus
Date: Wed May 19 07:34:37 2010
New Revision: 946071
URL: http://svn.apache.org/viewvc?rev=946071&view=rev
Log:
MR-323: Added test for dual camel context and registering component in JMX
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedDualCamelContextTest.java
- copied, changed from r946018, camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedUnregisterComponentTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=946071&r1=946070&r2=946071&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java Wed May 19 07:34:37 2010
@@ -109,7 +109,7 @@ import org.apache.commons.logging.LogFac
public class DefaultCamelContext extends ServiceSupport implements CamelContext {
private static final transient Log LOG = LogFactory.getLog(DefaultCamelContext.class);
private static final String NAME_PREFIX = "camel-";
- private static AtomicInteger contextCounter = new AtomicInteger(0);
+ private static final AtomicInteger contextCounter = new AtomicInteger(0);
private ClassLoader applicationContextClassLoader;
private boolean routeDefinitionInitiated;
private String name;
Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedDualCamelContextTest.java (from r946018, camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedUnregisterComponentTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedDualCamelContextTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedDualCamelContextTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedUnregisterComponentTest.java&r1=946018&r2=946071&rev=946071&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedUnregisterComponentTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/management/ManagedDualCamelContextTest.java Wed May 19 07:34:37 2010
@@ -21,53 +21,57 @@ import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.camel.CamelContext;
-import org.apache.camel.ContextTestSupport;
import org.apache.camel.ServiceStatus;
+import org.apache.camel.TestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
/**
* @version $Revision$
*/
-public class ManagedUnregisterComponentTest extends ContextTestSupport {
-
- @Override
- protected boolean useJmx() {
- return true;
- }
+public class ManagedDualCamelContextTest extends TestSupport {
protected CamelContext createCamelContext() throws Exception {
CamelContext context = new DefaultCamelContext();
DefaultManagementNamingStrategy naming = (DefaultManagementNamingStrategy) context.getManagementStrategy().getManagementNamingStrategy();
naming.setHostName("localhost");
naming.setDomainName("org.apache.camel");
+ context.addRoutes(createRouteBuilder());
return context;
}
@SuppressWarnings("unchecked")
- public void testUnregisterComponent() throws Exception {
- MBeanServer mbeanServer = context.getManagementStrategy().getManagementAgent().getMBeanServer();
+ public void testDualCamelContext() throws Exception {
+ CamelContext camel1 = createCamelContext();
+ camel1.start();
- Set<ObjectName> set = mbeanServer.queryNames(new ObjectName("*:type=components,*"), null);
- assertEquals(2, set.size());
+ CamelContext camel2 = createCamelContext();
+ camel2.start();
+ MBeanServer mbeanServer1 = camel1.getManagementStrategy().getManagementAgent().getMBeanServer();
+ Set<ObjectName> set = mbeanServer1.queryNames(new ObjectName("*:context=localhost/camel-1,type=components,*"), null);
+ assertEquals(2, set.size());
ObjectName on = set.iterator().next();
- assertTrue("Should be registered", mbeanServer.isRegistered(on));
-
- String state = (String) mbeanServer.getAttribute(on, "State");
+ assertTrue("Should be registered", mbeanServer1.isRegistered(on));
+ String state = (String) mbeanServer1.getAttribute(on, "State");
assertEquals(ServiceStatus.Started.name(), state);
-
- String id = (String) mbeanServer.getAttribute(on, "CamelId");
+ String id = (String) mbeanServer1.getAttribute(on, "CamelId");
assertEquals("camel-1", id);
- context.stop();
+ MBeanServer mbeanServer2 = camel2.getManagementStrategy().getManagementAgent().getMBeanServer();
+ set = mbeanServer1.queryNames(new ObjectName("*:context=localhost/camel-2,type=components,*"), null);
+ assertEquals(2, set.size());
+ on = set.iterator().next();
+ assertTrue("Should be registered", mbeanServer2.isRegistered(on));
+ state = (String) mbeanServer2.getAttribute(on, "State");
+ assertEquals(ServiceStatus.Started.name(), state);
+ id = (String) mbeanServer2.getAttribute(on, "CamelId");
+ assertEquals("camel-2", id);
- assertFalse("Should no longer be registered", mbeanServer.isRegistered(on));
- set = mbeanServer.queryNames(new ObjectName("*:type=components,*"), null);
- assertEquals("Should no longer be registered", 0, set.size());
+ camel1.stop();
+ camel2.stop();
}
- @Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
@@ -77,4 +81,4 @@ public class ManagedUnregisterComponentT
};
}
-}
+}
\ No newline at end of file