Hi,
Though I followed the steps from the documentation, I got the following error:
Exception in thread "main" java.io.IOException: javax.naming.ServiceUnavailableException: weblogic/i18n/logging/Loggable
at com.bea.core.jmx.remote.resolver.msarmi.Resolver.lookupStubInJNDI(Resolver.java:156)
at com.bea.core.jmx.remote.resolver.msarmi.Resolver.lookupRMIServerStub(Resolver.java:65)
at com.bea.core.jmx.remote.resolver.msarmi.Resolver.lookupClient(Resolver.java:48)
at javax.management.remote.mx4j_rmi.RMIConnector.connect(RMIConnector.java:185)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:268)
at com.csiro.teststuff.ProcessorControlBean.initConnection(ProcessorControlBean.java:72)
at com.csiro.teststuff.ProcessorControlBean.afterConfig(ProcessorControlBean.java:30)
at com.csiro.teststuff.ProcessorControlBean.main(ProcessorControlBean.java:26)
BTW, I am able to connect to the server via JConsole.
And here is the code:
public static void initConnection(String hostname, int port, String username, char[] password)
throws IOException, MalformedURLException {
Map<String, Object> env = new HashMap<String, Object>();
env.put(JMXConnector.CREDENTIALS, new Serializable[]{username, password});
env.put("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
System.setProperty("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
env.put(JMXConnectorFactory.DEFAULT_CLASS_LOADER,
com.bea.core.jmx.remote.provider.msarmi.ServerProvider.class
.getClassLoader());
env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_CLASS_LOADER,
com.bea.core.jmx.remote.provider.msarmi.ServerProvider.class
.getClassLoader());
env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
"com.bea.core.jmx.remote.provider");
System.setProperty("mx4j.remote.resolver.pkgs",
"com.bea.core.jmx.remote.resolver");
env.put("jmx.remote.protocol.provider.pkgs", "com.bea.core.jmx.remote.provider");
env.put("mx4j.remote.resolver.pkgs", "com.bea.core.jmx.remote.resolver");
env.put("java.naming.factory.initial", "com.bea.core.jndi.context.ContextFactory");
JMXServiceURL serviceUrl = new JMXServiceURL(
"MSARMI", hostname, port, "/jndi/jmxconnector"
);
System.out.println("Service: " + serviceUrl.toString());
JMXConnector connector = JMXConnectorFactory.connect(serviceUrl, env);
MBeanServerConnection connection = connector.getMBeanServerConnection();
}