package camelinaction.client2;
import javax.management.JMX;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
public class JmxCamelClient2 {
private JMXConnector connector;
private MBeanServerConnection connection;
private ManagedCamelContextMBean proxy;
public void connect(String serviceUrl) throws Exception {
JMXServiceURL url = new JMXServiceURL(serviceUrl);
connector = JMXConnectorFactory.connect(url, null);
connection = connector.getMBeanServerConnection();
// create a mbean proxy so we can use the type safe api
ObjectName on = new ObjectName("org.apache.camel:context=camel-1,type=context,name=\"camel-1\"");
proxy = JMX.newMBeanProxy(connection, on, ManagedCamelContextMBean.class);
}
public void disconnect() throws Exception {
connector.close();
}
public String getCamelVersion() throws Exception {
return proxy.getCamelVersion();
}
public String getCamelUptime() throws Exception {
return proxy.getUptime();
}
}