Spring JMX - <context:mbean-server>的目的



我正在阅读Craig Walls的《Spring In Action》第4版中的"第20章-使用JMX管理Spring bean"。本章第527页有一段。


MBean服务器是从哪里来的?

根据配置,MBeanExporter假设它运行在应用程序服务器(如Tomcat)或提供MBean服务器的其他上下文中。但是,如果您的Spring应用程序将独立运行,或者在不提供MBean服务器的容器中运行,则需要在Spring上下文中配置MBean服务器。

在XML配置中,<context:mbean-server>元素可以为您处理此问题在Java配置中,您需要采取更直接的方法,配置MBeanServerFactoryBean()类型的bean(这在XML中对您有用)。


我对上一段有几个问题。

  1. 这是否意味着当我们在Tomcat这样的服务器上运行应用程序时,不再需要<context:mbean-server>声明?

  2. 如果上面的语句是真的,那么当我们在Tomcat或任何其他应用程序服务器上运行时,谁来负责定位MBean服务器?

提前感谢!

该信息有点过时。。。

或者提供MBean服务器的一些其他上下文。

从Java5开始(如果我没有记错的话),JVM有一个内置的MBeanServer。在此之前,您必须在应用程序服务器中运行,或者提供一些其他MBeanServer,如mx4j。

无论如何,您仍然需要服务器bean声明;它告诉Spring要使用哪个服务器(底层MBeanServerFactoryBeanlocateExistingServerIfPossible被XML命名空间解析器设置为true。如果该标志为false,工厂bean将创建一个额外的MBeanServer.

相关内容

  • 没有找到相关文章

最新更新