我正在经历'第20章 - 使用JMX管理Spring bean'来自“春天的行动”一书#39; Craig Walls的第4版。第527页的本章中有一段。
从哪里开始MBean服务器?
根据配置,MBeanExporter假定它在应用程序服务器(例如Tomcat)或其他提供MBean服务器的上下文中运行。但是,如果您的Spring应用程序将独立运行,或者在不提供MBean服务器的容器中运行,那么您将需要在Spring上下文中配置MBean服务器。
在XML配置中, <context:mbean-server>
元素可以为您处理。在Java配置中,您需要采取更直接的方法并进行配置一个MBeanServerFactoryBean()类型的bean(这就是XML中的功能)。
我对上段有几个问题。
这是否意味着当我们在Tomcat等服务器上运行应用程序时,不再需要<context:mbean-server>
声明?
如果上面的陈述为真,那么当我们在像Tomcat或任何其他应用服务器这样的服务器上运行时,谁负责定位MBean服务器?
提前致谢!
答案 0 :(得分:1)
这些信息有点过时......
或提供MBean服务器的其他一些上下文。
从Java 5开始(如果我没记错的话),JVM有一个内置的MBeanServer。在此之前,您必须在App服务器中运行,或者提供其他MBeanServer
,例如mx4j。
无论如何,你仍然需要服务器bean声明;它告诉Spring要使用哪个服务器(底层MBeanServerFactoryBean
的{{1}}由XML命名空间解析器设置为true。如果该标志为false,则工厂bean将创建一个额外的MBeanServer。