Author: davsclaus
Date: Tue Jan 17 09:43:07 2012
New Revision: 1232365

URL: http://svn.apache.org/viewvc?rev=1232365&view=rev
Log:
CAMEL-4906: Allow to easily configure JMX naming using managementNamePattern 
attribute on CamelContext.

Added:
    
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/management/
    
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/management/ManagedNamePatternFixedTest.java
      - copied, changed from r1232308, 
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java
    
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/management/
    
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/management/managedNamePatternFixedTest.xml
      - copied, changed from r1232308, 
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml

Copied: 
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/management/ManagedNamePatternFixedTest.java
 (from r1232308, 
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/management/ManagedNamePatternFixedTest.java?p2=camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/management/ManagedNamePatternFixedTest.java&p1=camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java&r1=1232308&r2=1232365&rev=1232365&view=diff
==============================================================================
--- 
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java
 (original)
+++ 
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/management/ManagedNamePatternFixedTest.java
 Tue Jan 17 09:43:07 2012
@@ -14,31 +14,38 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.test.blueprint;
+package org.apache.camel.test.blueprint.management;
 
 import java.net.URL;
 import java.util.Collection;
 import java.util.Collections;
 
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
+import org.apache.camel.test.blueprint.CamelBlueprintTestSupport;
 import org.junit.Test;
 
-public class DebugBlueprintTest extends CamelBlueprintTestSupport {
+public class ManagedNamePatternFixedTest extends CamelBlueprintTestSupport {
 
     @Override
     protected Collection<URL> getBlueprintDescriptors() {
-        return 
Collections.singleton(getClass().getResource("camelContext.xml"));
+        return 
Collections.singleton(getClass().getResource("managedNamePatternFixedTest.xml"));
     }
 
     @Test
-    public void testRoute() throws Exception {
-        // set mock expectations
-        getMockEndpoint("mock:a").expectedMessageCount(1);
-
-        // send a message
+    public void testManagedNamePattern() throws Exception {
+        getMockEndpoint("mock:result").expectedMessageCount(1);
         template.sendBody("direct:start", "World");
-
-        // assert mocks
         assertMockEndpointsSatisfied();
+
+        MBeanServer mbeanServer = 
context.getManagementStrategy().getManagementAgent().getMBeanServer();
+
+        assertEquals("cool", context.getManagementName());
+
+        ObjectName on = 
ObjectName.getInstance("org.apache.camel:context=localhost/" + 
context.getManagementName()
+                + ",type=context,name=\"" + context.getName() + "\"");
+        assertTrue("Should be registered", mbeanServer.isRegistered(on));
     }
 
 }

Copied: 
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/management/managedNamePatternFixedTest.xml
 (from r1232308, 
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/management/managedNamePatternFixedTest.xml?p2=camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/management/managedNamePatternFixedTest.xml&p1=camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml&r1=1232308&r2=1232365&rev=1232365&view=diff
==============================================================================
--- 
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml
 (original)
+++ 
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/management/managedNamePatternFixedTest.xml
 Tue Jan 17 09:43:07 2012
@@ -17,16 +17,19 @@
 -->
 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";>
 
+  <bean id="naming" 
class="org.apache.camel.management.DefaultManagementNamingStrategy">
+    <property name="hostName" value="localhost"/>
+    <property name="domainName" value="org.apache.camel"/>
+  </bean>
 
-       <camelContext id="camelContext" 
xmlns="http://camel.apache.org/schema/blueprint"; trace="true" 
autoStartup="true" >
+  <!-- START SNIPPET: example -->
+  <camelContext managementNamePattern="cool" 
xmlns="http://camel.apache.org/schema/blueprint";>
+    <jmxAgent id="agent"/>
 
-               <route>
-                       <from uri="direct:start" />
-                       <transform>
-                               <simple>Hello ${body}</simple>
-                       </transform>
-                       <to uri="mock:a" />
-               </route>
-       </camelContext>
+    <route>
+      <from uri="direct:start"/>
+      <to uri="mock:result"/>
+    </route>
+  </camelContext>
 
 </blueprint>
\ No newline at end of file


Reply via email to