簡體   English   中英

檢索注冊的JMX mbean的信息

[英]Retrieve the information of a registered JMX mbean

我正在使用Eclipse編寫兩個簡單的Java程序。 第一個程序創建一個簡單的mbean並將其注冊在Mbean服務器中。 第二個程序檢索已注冊的mbean的信息。 要注冊和檢索mbean,我使用下面的代碼為這兩個程序創建了服務器:

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

當我運行第二個程序時,它不會列出創建的Mbean,並且下面的兩行返回false。

ObjectName mbeanName = new ObjectName("HelloAgent:name=helloWorld1");
mbs.isRegistered(mbeanName);

但是,我可以使用JConsole看到並訪問它。 我錯過了什么嗎? 謝謝! jconsole快照1 jconsole快照1 jconsole快照2 jconsole快照2

正如您提到的,您正在運行兩個不同的Java程序,這意味着它們都具有不同的MBean Server ,並且在不同的JVM中運行。

mbs.isRegistered(mbeanName);

上面的方法將檢查MBean是否已在當前Java進程的MBean服務器中注冊。 它不能查詢另一個Java程序的MBean服務器。

要從另一個Java程序訪問MBean,您需要創建一個客戶端,該客戶端將使用RMI查詢您的第一個Java程序(包含要管理的MBean)。

您可能會發現本教程對實際了解使用MBenas進行JMX監視的工作很有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM