Skip to Main Content

Connectting to the Oracle CEP JMX Server From a Non-Oracle CEP Client

2664040Feb 9 2015 — edited Feb 9 2015

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();

}

Post Details
Locked due to inactivity on Mar 9 2015
Added on Feb 9 2015
0 comments
467 views