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

Reply via email to