Greetings, I am using Apache Tomcat 7.0.25 using IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux s390x-64 jvmxz6460sr8ifx-20100609_59383).
Inspired by the flurry of JMX related questions on this list, I attempted to follow the official documentation[1] to enable remote JMX access. My sanitized conf/server.xml: <?xml version="1.0" encoding="utf-8"?> <Server address="a.b.c.d" port="8081"> <Listener className="org.apache.catalina.core.AprLifecycleListener"/> <Listener className="org.apache.catalina.core.JasperListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8181" rmiServerPortPlatform="8182" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" readonly="true" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="${catalina.home}/conf/tomcat-users.xml"/> </GlobalNamingResources> <Service name="Catalina"> <Connector scheme="http" address="a.b.c.d" port="8080" compression="on" enableLookups="false" URIEncoding="UTF-8"/> <Connector scheme="https" address="a.b.c.d" port="8443" secure="true" compression="on" enableLookups="false" URIEncoding="UTF-8" SSLEnabled="true" SSLCertificateFile="${catalina.home}/conf/cacert.pem" SSLCertificateKeyFile="${catalina.home}/conf/privkey.pem"/> <Engine name="Catalina" defaultHost="vhost.acme.com"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="vhost.acme.com" appBase="webapps" autoDeploy="false" deployIgnore=".svn" unpackWARs="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" pattern="common" resolveHosts="false"/> <Context path="/manager" privileged="true"/> </Host> </Engine> </Service> </Server> I verify that Tomcat thinks this is performing correctly: logs/catalina.2012-02-09.log:09-Feb-2012 10:27:23.134 INFO [AsyncFileHandlerWriter-1715627586] org.apache.catalina.mbeans.JmxRemoteLifecycleListener.createServer The JMX Remote Listener has configured the registry on port 8181 and the server on port 8182 for the Platform server Prior to server start, netstat -a --numeric-ports | grep LIST | grep 8181 shows empty output. After server start, the same command shows: tcp 0 0 *:8181 *:* LISTEN This is not good because I have multiple, completely separate, installations of Tomcat 7.0.25. I want each of them to be able to have their own JMX on a.b.c.d .. however, it seems that Tomcat is doing a blanket socket bind despite me coding the IP address. I think it would be ideal that if a Server address= is coded, that those would be used when binding JMX. Additionally, to allow coding the hostname to bind in that Listener. What is the expected behavior? Is this a bug? -Jesse [1] http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html#Additional_Implementations -- There are 10 types of people in this world, those that can read binary and those that can not. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org