According to this documentation http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html#Enabling_JMX_Remote it should be possible to remotely Monitor a Tomcat 5.5 Server running on a JDK 1.4 but after searching all over the web and trying multiple OSs I still am no further than on day one. My results thus far are. Settign up Tomcat with the standard
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=%my.jmx.port%
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=localhost
will work without any problems on JDK 1.5 and up. Debugging into Tomcat gives me access to the MBeanServer but I am not able to connect to it from the outside. According to the info from Wikipedia http://en.wikipedia.org/wiki/Java_Management_Extensions I just need a working connector and I have no idea how to get that working.
Trying to set up the HTTP Adaptor according to
<Connector port="${AJP.PORT}"
handler.list="mx"
mx.enabled="true"
mx.httpHost="${JMX.HOST}"
mx.httpPort="${JMX.PORT}"
protocol="AJP/1.3" />
has no effect at all. When I debugged it almost seemed like the attributes handler.list and mx.* were just ignored. I know I should just use JDK 1.5 and my worries would be gone but we have a large legacy install base of JDK 1.4 and it would be great if we could use the JMX monitoring. Eventually I want to use either JConsole or JVisualVM to connect to the Tomcat and as far as I have understood the connection URL would look like
service:jmx:rmi:///jndi/rmi://localhost:8888/jmxrmi
were 8888 is my JMX port. If anyone has some advice or ideas on how to drill to the root of the problem that would be very helpfull.