遇到个很奇怪的问题,还没有想明白使用JDK版本 1.6.0_03用Sun的实现来加载mx4j的NamingService,会报“java.lang.ClassNotFoundException: mx4j/tools/naming/NamingService”(包肯定在类路径下)
MBeanServer server = MBeanServerFactory.createMBeanServer();ObjectName namingName = ObjectName.getInstance("naming:type=rmiregistry");
server.createMBean("mx4j.tools.naming.NamingService", namingName, null);如果自己实例化就没有问题MBeanServer server = MBeanServerFactory.createMBeanServer();ObjectName namingName = ObjectName.getInstance("naming:type=rmiregistry");
NamingService namingService = new NamingService();
server.registerMBean(namingService, namingName);或者使用MX4J的MBeanServer实现,也没有问题
MBeanServerDelegate mBeanDescription = new MX4JMBeanServerDelegate();
MBeanServer server = new MX4JMBeanServer("", null, mBeanDescription);ObjectName namingName = ObjectName.getInstance("naming:type=rmiregistry");
server.createMBean("mx4j.tools.naming.NamingService", namingName, null);很是奇怪, 莫非是不正当竞争?