Jan 24th, 2012, 03:25 PM
Local conn. to app shows all mbeans, remote conn. doesn't show app mbeans
I have a Spring 3.x app that's been running in WebLogic on a VMWare VM for a while. It uses the MBeanExporter to register some beans. I'm pretty sure that I've been able to connect to this both locally and remotely from VisualVM and see and manipulate my mbeans.
My server VM was recently moved to another VMWare VM. The app appears to work fine on the new host. I even tried a remote JMX connection from VisualVM, and it appeared to be fine, although I didn't look close enough. I noticed that there was no "Monitor" tab, and when I looked at the MBeans tab, it didn't have any of my application mbeans.
In fact, I'm not only missing the application mbeans from my application. I see that there are two other groups that are missing from the remote connection, although I don't know if that's significant.
On a local connection, I see "JMImplementation", "Security", "<myappname>", "com.bea", "com.oracle.jdbc", "com.sun.management", "java.lang", and "java.util.logging". On the remote connection with the problem, I see "JMImplementation", "com.oracle.jdbc", "com.sun.management", "java.lang", and "java.util.logging".
If it matters, my connection string from VisualVM is the following: "service:jmx:rmi:///jndi/rmi://<remotehostname>:8888/jmxrmi".
Someone on StackOverflow suggested that perhaps I'm connecting to the "platform" mbean server instead of the "domain" server, or perhaps that I should register my mbeans in the platform server.
I'm pretty sure that this was WORKING before the VM was moved, so I'm not sure this is relevant. Nevertheless, I've looked through the documentation about the "platform" vs. "domain" server and I don't understand how to make this happen in either my Spring or WebLogic configuration.
Jan 25th, 2012, 10:46 AM
Another difference between the "local" connection and the "remote" connection is that when I'm connecting locally, it's to the admin server, where I've deployed the app. In the case of the "remote" connection, I have both an admin server and managed server running on the box (different listener ports). I have a feeling that my JMX connection is going to one server instance, but my application mbeans are only available on the other server instance.