到底在MBeanServerFactory.findMBeanServer(null);做什么? 返回所有已注册的MBeanServer的列表?注册哪里? 我问是因为我有以下问题。 我有一个使用服务包装程序在Tomcat中部署的Java Web应用程序。 我的server.xml中有使用ManagedBeans(启用了弹簧)的自定义连接器实现。 如果我通过服务包装启动应用程序,一切正常。 如果我直接通过Tomcat启动Web应用程序,则似乎部署中断。 我在日志中看到的只是连接器执行了
MBeanServerFactory.findMBeanServer(null);
然后尝试调用Bean beanServer.invoke(name, operationName, null, null); ,结果是InstanceNotFoundException。 如果我不使用服务包装器,似乎没有加载托管bean?我的理解正确吗?非常欢迎您提供有关如何调试此问题的任何意见!
beanServer.invoke(name, operationName, null, null);
该javadoc的说,当你通过null,它返回当前JVM中注册的服务器。如果使用的是JSW,则不能将nullJVM派生为单独的进程。这就是为什么您看到InstanceNotFoundException。
null
InstanceNotFoundException