[英]Spring JMX - Purpose of <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 中所做的)。
我對上面的段落有幾個問題。
這是否意味着當我們在 Tomcat 這樣的服務器上運行應用程序時,不再需要<context:mbean-server>
聲明?
如果上述陳述為真,那么當我們在 Tomcat 或任何其他應用程序服務器等服務器上運行時,誰來負責定位 MBean 服務器?
提前致謝!
這個信息有點過時了...
或其他一些提供 MBean 服務器的上下文。
從 Java 5 開始(如果我沒記錯的話),JVM 有一個內置的 MBeanServer。 在此之前,您必須在 App 服務器中運行,或者提供一些其他MBeanServer
例如 mx4j。
無論如何,您仍然需要服務器 bean 聲明; 它告訴 Spring 使用哪個服務器(底層MBeanServerFactoryBean
的locateExistingServerIfPossible
被 XML 命名空間解析器設置為 true。如果該標志為 false,工廠 bean 將創建一個額外的 MBeanServer。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.