camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dmhatre <darpan27...@gmail.com>
Subject Help with JMX client to monitor/manage camel routes,processors etc
Date Thu, 23 Aug 2012 18:31:08 GMT
Hi Folks,
    I am trying to build a JMX client to monitor/manage camel
routes,processors etc. I can see the 
mbeans in jconsole but want some remote jmx client to monitor camel. I am
able to connect to the mbeanserver but get exception when calling the
operations on Mbean

NOTE: Running CAMEL as standalone java application 

*Error:*
javax.management.InstanceNotFoundException:
org.apache.camel:context=Darpan-HP/myCamel,type=routes,name=usaa-open-loans
	at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1094)
	at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getClassLoaderFor(DefaultMBeanServerInterceptor.java:1438)
	at
com.sun.jmx.mbeanserver.JmxMBeanServer.getClassLoaderFor(JmxMBeanServer.java:1276)
	at
javax.management.remote.rmi.RMIConnectionImpl$5.run(RMIConnectionImpl.java:1326)
	at java.security.AccessController.doPrivileged(Native Method)
	at
javax.management.remote.rmi.RMIConnectionImpl.getClassLoaderFor(RMIConnectionImpl.java:1323)
	at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:771)
	at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
	at sun.rmi.transport.Transport$1.run(Transport.java:159)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
	at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
	at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown
Source)
	at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
	at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
	at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown
Source)
	at
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(Unknown
Source)
	at javax.management.MBeanServerInvocationHandler.invoke(Unknown Source)
	at $Proxy0.suspend(Unknown Source)
	at JMXClientTest.main(JMXClientTest.java:44)

*Below are few lines from my camel-context.xml*

<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
<jmxAgent id="agent" createConnector="true" usePlatformMBeanServer="true"
registryPort="8000" />

*Below is the code for jmx client also a standalone java application.*

JMXServiceURL url = null;			
ManagedSuspendableRouteMBean mbeanProxy = null;			
try {
      url = new
JMXServiceURL("service:jmx:rmi:///jndi/rmi://Darpan-HP:8000/jmxrmi/camel");
     } catch (MalformedURLException e) {				
	e.printStackTrace();
     }
try {
     JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
     MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();		
try {
ObjectName mbeanName = new ObjectName(
"org.apache.camel:context=Darpan-HP/myCamel,type=routes,name=usaa-open-loans");			

mbeanProxy = JMX.newMBeanProxy(mbsc, mbeanName,
ManagedSuspendableRouteMBean.class, true);
} catch (MalformedObjectNameException e) {
     e.printStackTrace();
} catch (NullPointerException e) {
     e.printStackTrace();
}				

try {
    mbeanProxy.suspend();
   System.out.println("########## Route suspended ##########");				
   Thread.sleep(30000);
   mbeanProxy.resume();
   System.out.println("########## Route resumed ##########");				
} catch (Exception e) {
	e.printStackTrace();
}
} catch (IOException e) {				
        e.printStackTrace();
}



--
View this message in context: http://camel.465427.n5.nabble.com/Help-with-JMX-client-to-monitor-manage-camel-routes-processors-etc-tp5717967.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Mime
View raw message