Java 无法从tomcat mbean连接远程jmx服务器

Java 无法从tomcat mbean连接远程jmx服务器,java,tomcat,jmx,Java,Tomcat,Jmx,对我的环境: -Java 1.5 -Tomcat 5.5 我正在尝试从运行在不同机器上的web应用程序实例访问远程MBean,以实现某些群集目的。通常,我尝试使用包装在某种jmx服务器类中的rmi存根从mbean本身访问oher远程mbean,如下所示: public class JMXConnect { PrintStream out= null; JMXServiceURL target= null; JMXConnector connector= nul

对我的环境: -Java 1.5 -Tomcat 5.5

我正在尝试从运行在不同机器上的web应用程序实例访问远程MBean,以实现某些群集目的。通常,我尝试使用包装在某种jmx服务器类中的rmi存根从mbean本身访问oher远程mbean,如下所示:

public class JMXConnect {

PrintStream   out=    null;
JMXServiceURL    target=    null;
JMXConnector    connector=    null;
MBeanServerConnection   remote=   null;


String   serviceURL  =  "service:jmx:rmi:///jndi/rmi://"+this.host+":"+this.port+"/jmxrmi";

target   =   new   JMXServiceURL(serviceURL);

connector   =   JMXConnectorFactory.connect(target);

remote   =   connector.getMBeanServerConnection();

ObjectName bean    =    null;

bean   =   new   ObjectName("MbeanName");

Object    returnval   =    remote.getAttribute(bean,"TotalSessionCount");
问题是,当我尝试在tomcat上下文之外使用此代码时,它工作正常,但从tomcat中的这个mbean的wihin来看,它会导致问题:

java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.naming.java.javaURLContextFactory [Root exception is java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory]
[exec]位于javax.management.remote.rmi.RMIConnector.connectRMIConnector.java:317 [exec]位于javax.management.remote.JMXConnectorFactory.connectJMXConnectorFactory.java:248

我在tomcat/common/lib/naming-factory.jar中找到了丢失的类。然而,我不知道在哪里包括这项权利,也不知道这门课是关于什么,或者我可能在这里误解了什么。所有这些的目的是,我想让我的一些MBean在使用rmi存根的不同机器上相互协作

1我如何避开这个错误? 2这种方法有用吗