Thanks Justin. I don't know how I missed that example earlier. It is very clear now after going through it. having said that, Now if I run the code below, I get /InstanceNotFoundException/ during serverControl.createDivert method invocation.
/public class App { private static final String JMX_URL = "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi"; private static final String QUEUE = "Step-Event"; public static void main(final String[] args){ ObjectName objName; try { objName = ObjectNameBuilder.DEFAULT.getQueueObjectName(SimpleString.toSimpleString(QUEUE), SimpleString.toSimpleString(QUEUE), RoutingType.ANYCAST); HashMap env = new HashMap(); String[] creds = { "admin", "admin" }; env.put(JMXConnector.CREDENTIALS, creds); JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), env); MBeanServerConnection mbean = connector.getMBeanServerConnection(); ActiveMQServerControl serverControl = (ActiveMQServerControl)MBeanServerInvocationHandler.newProxyInstance(mbean, objName, ActiveMQServerControl.class, false); serverControl.createDivert("non-ED", "myRoute", QUEUE, "tempAddress", false, null, null); connector.close(); } catch (Exception e) { e.printStackTrace(); } } }/ Below is the full printStackTrace: /javax.management.InstanceNotFoundException: org.apache.activemq.artemis:broker="localhost",component=addresses,address="Step-Event",subcomponent=queues,routing-type="anycast",queue="Step-Event" at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getClassLoaderFor(DefaultMBeanServerInterceptor.java:1444) at com.sun.jmx.mbeanserver.JmxMBeanServer.getClassLoaderFor(JmxMBeanServer.java:1324) at javax.management.remote.rmi.RMIConnectionImpl$6.run(RMIConnectionImpl.java:1365) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.getClassLoaderFor(RMIConnectionImpl.java:1362) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:813) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) at sun.rmi.transport.Transport$1.run(Transport.java:200) at sun.rmi.transport.Transport$1.run(Transport.java:197) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162) 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(RMIConnector.java:1022) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:298) at com.sun.proxy.$Proxy3.createDivert(Unknown Source) at artemis.management.App.main(App.java:37) / Any thoughts? I can confirm that the queue 'Step-Event' do exist. -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html