JMX Connection Problems
Hi all,
I've been working with some JMX code on WebSphere and I've kinda hit a
brick wall.
I'm trying to ween an application off of depending on WebSphere code
(specifically, the AdminClient class) so that it can be deployed onto
Tomcat and connect to non-WebSphere servers.
The code I have found from IBM that demonstrates how to connect to
WebSphere from plain JMX is found here:
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/tjmx_develop_jsr160.html
And the connection code I have looks like this:
String jndiPath="/jndi/JMXConnector"; //also could try
"jmxrmi" or "server" or "JMXConnector"
System.out.println("creating URL...");
String urlString = "service:jmx:iiop://"+hostname
+":"+port
+jndiPath;
JMXServiceURL url = new JMXServiceURL(urlString);
System.out.println("URL is "+url.toString());
Hashtable h = new Hashtable();
String[] credentials = new String[] {user ,password };
h.put("jmx.remote.credentials", credentials);
//Establish the JMX connection.
try
{
JMXConnector jmxc = (JMXConnector)
JMXConnectorFactory.connect(url,h);
//JMXConnector jmxc = (JMXConnector)
JMXConnectorFactory.connect(url);
//Get the MBean server connection instance.
mbsc = jmxc.getMBeanServerConnection();
}
catch(Exception e)
{
System.out.println("Error creating connection:");
e.printStackTrace();
}
It throws the following exeception:
java.io.IOException: Failed to retrieve RMIServer stub:
javax.naming.NameNotFoundException: Context:
16DH6CAC71401GBNode01Cell/
nodes/16DH6CAC71401GBNode01/servers/server1, name: JMXConnector:
First
component in name JMXConnector not found. Root exception is
org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/
CosNaming/
NamingContext/NotFound:1.0
So it seems to me that there is no object named JMXConnector. Has
anyone ever run into this problem before? If so, how did you resolve
it?
Thanks!