0

I am trying to connect to JMX using my java code from JBoss EAp 6.4, but I am getting an error saying:

java.lang.IllegalArgumentException: MBeanServer argument must be MBean server where this server is registered, or an MBeanServerForwarder leading to that server

My standalone.xml file has:

        <subsystem xmlns="urn:jboss:domain:jmx:1.3">
            <expose-resolved-model/>
            <expose-expression-model/>
            <remoting-connector/>
        </subsystem>

ports used are:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:7204}"/>
        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:7203}"/>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:7205}"/>
        <socket-binding name="http" port="7201"/>
        <socket-binding name="https" port="7202"/>
        <socket-binding name="ajp" port="7206"/>
        <socket-binding name="remoting" port="7207"/>
        <socket-binding name="txn-recovery-environment" port="7208"/>
        <socket-binding name="txn-status-manager" port="7209"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>

Java Code, I am using is:

_mbeanServer = ManagementFactory.getPlatformMBeanServer();
String domain = "HtmlAdaptor";
HtmlAdaptorServer adapter = new HtmlAdaptorServer();
String domain = "com.mn";
Hashtable<String,String> params = new Hashtable<String, String>();
params.put("name", "JMXHtmlAdaptor");
params.put("port", String.valueOf(_jmxHttpPort));
ObjectName adapterName = new ObjectName(domain, params);
adapter.setPort(_jmxHttpPort);
server.registerMBean(adapter, adapterName);
adapter.setMBeanServer(_mbeanServer);

// _jmxHttpPort = 10099
// ManagementFactory.getPlatformMBeanServer(); returns object of type org.jboss.as.jmx.PluggableMBeanServerImpl
// adapter.getMBeanServer() returns com.sun.jmx.mbeanserver.JmxMBeanServer
// server returns object of type org.jboss.as.jmx.PluggableMBeanServerImpl

I think the adapter getting created is of wrong type.

Any idea how to resolve this issue?

Swaraj Shekhar
  • 187
  • 1
  • 7
  • 28
  • Are you just wanting to connect to the local instance from within the container? If so there is some simple code in http://stackoverflow.com/questions/28466868/how-to-obtain-jboss-server-group-name-programatically-when-deployed-to-a-domain that might help – shonky linux user Jul 03 '15 at 05:40
  • Thanks shonky linux user for reply. But I am able to get the container. What I am trying to do is starting a HtmlAdapter(JMXHtmlAdapter) for jboss eap 6.4. – Swaraj Shekhar Sep 04 '15 at 04:47

0 Answers0