MBeanServerFactory.findMBeanServer(null);
究竟在做什么?
返回所有已注册的MBeanServers的列表?注册在哪里?
我问,因为我有以下问题
我使用服务包装器在Tomcat中部署了一个java Web应用程序
我的server.xml中有自定义连接器实现,它使用ManagedBeans(启用弹簧)
如果我通过服务包装器启动应用程序,则一切正常
如果我直接通过Tomcat启动Web应用程序,那么部署似乎就会中断
我在日志中看到的只是连接器执行了
MBeanServerFactory.findMBeanServer(null);
然后尝试调用bean beanServer.invoke(name, operationName, null, null);
结果是InstanceNotFoundException
在我不使用服务包装器的情况下,似乎没有加载托管bean?我的理解是否正确?有关如何调试此问题的任何输入是
非常欢迎!
答案 0 :(得分:1)
javadoc表示当您传递null
时,它会返回在当前JVM中注册的服务器。如果您使用的是JSW,则不能使用null
,因为JSW将VM作为一个单独的进程分叉。这就是您看到InstanceNotFoundException
。