If you are setting the JVM properties then you need to connect to the JMX agent you are instructing the JVM to start; Qpid only starts its own programatically if you havent set the properties instructing the JVM to start its own. If management is enabled in the broker config, the Qpid MBeans will still be available via the platform agent. If you dont want to use the JVM's built in JMX agent then dont set the properties and just connect to the JMX server the broker creates itself (if management is enabled).
To do 'InVM' monitoring you could simply access the MBeanServer locally by grabbing it via ManagementFactory.getPlatformMBeanServer() instead of using an MBeanServerConnection via a JMXConnector. Side note: those properties were really originally created for older JVM versions, as of Java6 you only time you need to set them is if you want to perform 'remote' (ie network based, can still be on the same machine) access using the JVMs built in agent. If you are the user who started the process then you can always attach JConsole locally; using the AttachAPI feature in v6 JVMs it can inject a JMX agent into the JVM process while it is running and then connect to it, so you dont need to bother specifying the properties in that case and can moniot any application whether the old management proeprties were set or not when it was started. Robbie On 29 September 2010 11:52, Danushka Menikkumbura <[email protected]> wrote: > Hi devs, > > I can see that Qpid JMX server does not start when > com.sun.management.jmxremote system property is set. Can somebody tell me > how to do JMX monitoring in that case?. Also I wonder if it is possible to > do JMX monitoring from within a JVM. That is using a in-vm link? > > Thanks, > Danushka > --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
