org.apache.catalina.mbeans
Class JMXAdaptorLifecycleListener

java.lang.Object
  extended byorg.apache.catalina.mbeans.JMXAdaptorLifecycleListener
All Implemented Interfaces:
LifecycleListener

public class JMXAdaptorLifecycleListener
extends java.lang.Object
implements LifecycleListener

Start JSR160 JMX Adapter with naming and jmx port! Add only as Server Listner to your tomcat server.xml

 <Server ...>
 ...
   <Listener className="org.apache.catalina.mbeans.JMXAdaptorLifecycleListener"
namingPort="8083" port="8084" host="myhost" /> ... </Server>
You can use normal jmx system properties from command line or jmx config file:
Then run jconsole with: jconsole service:jmx:rmi://myhost:8084/jndi/rmi://myhost:8083/server

It would be be better if this was built into Tomcat as a configuration option, rather than having to do it as part of every Tomcat instance.

Origanal code idea comes from George Lindholm read Tomcat Bug 39055 and other helpful links are: