一尘不染

关于tomcat和jmx的问题

tomcat

到底在MBeanServerFactory.findMBeanServer(null);做什么?
返回所有已注册的MBeanServer的列表?注册哪里?
我问是因为我有以下问题。
我有一个使用服务包装程序在Tomcat中部署的Java Web应用程序。
我的server.xml中有使用ManagedBeans(启用了弹簧)的自定义连接器实现。
如果我通过服务包装启动应用程序,一切正常。
如果我直接通过Tomcat启动Web应用程序,则似乎部署中断。
我在日志中看到的只是连接器执行了

MBeanServerFactory.findMBeanServer(null);

然后尝试调用Bean beanServer.invoke(name, operationName, null, null);
,结果是InstanceNotFoundException。
如果我不使用服务包装器,似乎没有加载托管bean?我的理解正确吗?非常欢迎您提供有关如何调试此问题的任何意见!


阅读 311

收藏
2020-06-16

共1个答案

一尘不染

javadoc的说,当你通过null,它返回当前JVM中注册的服务器。如果使用的是JSW,则不能将nullJVM派生为单独的进程。这就是为什么您看到InstanceNotFoundException

2020-06-16