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