1 Reply Latest reply on Sep 23, 2014 9:03 AM by Deepak Angeswar

    Unable to access Mbean Server via remoting-jmx

    Deepak Angeswar Newbie



      I have a MBean server in one JVM (service details shown below)


      INFO  JMX Connector thread started and listening at: service:jmx:rmi:///jndi/rmi://LDN-LRM-PC-189:19999/jmxrmi/camel


      I am trying to access the Mbean server from within my app deployed in EAP 6.3.0

      But unable to connect to the MBean Server.


      I tried to connect via a standalone app





      import java.util.Date;

      import javax.management.MBeanServerConnection;

      import javax.management.ObjectName;

      import javax.management.remote.JMXConnector;

      import javax.management.remote.JMXConnectorFactory;

      import javax.management.remote.JMXServiceURL;

      public class JMXExample {

          public static void main(String[] args) throws Exception {

                 String host = "LDN-LRM-PC-189";

              int port = 19999;  // management-native port

              String urlString =

                  System.getProperty("jmx.service.url","service:jmx:remoting-jmx://" + host + ":" + port);

              JMXServiceURL serviceURL = new JMXServiceURL(urlString);

              JMXConnector jmxConnector = JMXConnectorFactory.connect(serviceURL, null);

              MBeanServerConnection connection = jmxConnector.getMBeanServerConnection();


              ObjectName mBeanName = new ObjectName("java.lang:type=Runtime");

              String attributeName = "StartTime";

              Object attrVal = connection.getAttribute(mBeanName, attributeName);

              System.out.println("Value via JMX: " + new Date((Long) attrVal));


              //Invoke on the JBoss AS MBean server

              int count = connection.getMBeanCount();









      Following exception is thrown


      Exception in thread "main" java.lang.RuntimeException: Operation failed with status WAITING

        at org.jboss.remotingjmx.RemotingConnector.internalRemotingConnect(RemotingConnector.java:235)

        at org.jboss.remotingjmx.RemotingConnector.internalConnect(RemotingConnector.java:148)

        at org.jboss.remotingjmx.RemotingConnector.connect(RemotingConnector.java:99)

        at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)

        at com.lombardrisk.ejb3.JMXExample.main(JMXExample.java:23)




      I have added jboss-cleint.jar to the classpath.

      Still facing the same issue. Is there any other JVM argument that is needed to connect via remoting-jmx?


      This is used to work with Jboss 5 (which used jnp-cleint).

      remoting-jmx does not seem work at all. Can some one point to the right solution for this.





        • 1. Re: Unable to access Mbean Server via remoting-jmx
          Deepak Angeswar Newbie

          Map<String, Object> env = new HashMap<String, Object>();


          env.put(Context.PROVIDER_URL, "rmi://"+ "LDN-LRM-PC-189" + ":" + "19999");      

          JMXServiceURL address = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://LDN-LRM-PC-189:19999/jmxrmi/camel");

          JMXConnector connector = JMXConnectorFactory.connect(address, env);

          MBeanServerConnection connection = connector.getMBeanServerConnection();

          int count = connection.getMBeanCount();






          The above code works fine (to access a MBeanServer).

          This works fine when I run it a as a standalone application.


          Following are the mandatory dependencies.





















          However if I attempt to run this from within a Singleton EJB (deployed as part of a EAR), I am getting an exception (log attached)

          <!-- Exception

          Caused by: javax.naming.CommunicationException: Failed to connect to any server. Servers tried: [rmi://LDN-LRM-PC-189:19999 (No connection provider for URI scheme "rmi" is installed)]

            at org.jboss.naming.remote.client.HaRemoteNamingStore.failOverSequence(HaRemoteNamingStore.java:244)




          Can some one point out what the root cause is?

          I have added the necessary JAR files (to XXXX.ear\lib)


          1. istack-commons-runtime-2.2.1.jar

          2. xnio-api-3.2.0.Final.jar

          3. xnio-nio-3.2.0.Final.jar



          I have also tried to add the dependencies as modules to MANIFEST.MF file.

          But exception still persists.