Hi,
I am trying to monitor JBoss by wlshell, jmxterm and jconsole. I know there is twiddle and jmx-console which are working out-of-box but I need to get monitoring working through wlshell. I am currently toying with jconsole. I have found that jmanage and Sentry JMX Browser can connect to JBoss not using "-Dcom.sun.management.jmxremote.*" JVM properties. I know that there is JNP implementation of a JNDI service running on 1099 Port. So when i tried to use this JMXServiceURL service:jmx:rmi:///jndi/rmi://host:1099/jmx/invoker/RMIAdaptor i have got:
"non-JRMP server at remote endpoint".
Then i have used this JMXServiceURL service:jmx:rmi:///jndi/jnp://host:1099/jmx/invoker/RMIAdaptor. I have got:
"Failed to retrieve RMIServer stub: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial".
After that i have created jndi.properties file which include:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=jnp://host:1099
Also i have googled a little and found out that all this 3rd party tools use some of the JBoss libraries. But different libraries were mentioned. So i have added them all:
jboss-jmx.jar, jboss-management.jar, jboss-system.jar, jbossall-client.jar, jnp-client.jar
Now I am getting in jconsole:
...failed to connect: java.lang.ClassCastException: $Proxy0 cannot be cast to javax.management.remote.rmi.RMIServer
Could you please help me to resolve my issue? Maybe I missed something or misunderstood JMX remoting through RMI connectors and JNP implementation of the JNDI service. Then could you please clear these things up.
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=jnp://192.168.21.128:1099