2017-08-26 38 views
-6

我想製作一個像JConsole這樣的應用程序。可能嗎?如果是,那麼需要在JVM級別完成哪些更改?我打算使用Spring-Boot。據我所知,默認情況下啓用JMX。我是否需要在Spring-Boot應用程序中配置任何額外的東西以訪問默認情況下公開的JMXBeans?如何製作像JConsole這樣的應用程序?

這裏我不想公開任何MBean,而是試圖訪問那些已經由JVM公開的bean。如何實現它?

回答

2

JConsole是一個JMX兼容的監視和管理應用程序。該架構非常簡單。這是一個client-server architecture。客戶端是遠程應用程序(例如JConsole或您想要構建的應用程序),服務器是JMX代理。在你的情況下,你想建立自己的客戶端,這是可能的。

我想製作一個像JConsole這樣的應用程序。可能嗎?

是的,這是可能的。

如果是,那麼需要在JVM級別完成哪些更改?

你是什麼意思在JVM級別的變化?您只需創建一個使用特定協議連接到服務器(JMX Agent)的客戶端應用程序。遠程方法調用(RMI)是JConsole用於連接到JMX代理的協議。如果您想使用RMI進行通信,則不必在服務器端進行任何操作。但是如果您想使用其他協議進行通信,則可以定義自己的協議適配器。

據我所知,默認情況下啓用JMX。

從Java SE 6開始。但你只能在本地監控它。對於connection from a remote machine,您需要定義一個RMI端口以開始監聽傳入連接。

這裏我不想公開任何MBean,而是試圖訪問那些已經由JVM公開的bean。如何實現它?

請查看此鏈接中的示例 - Mimicking Out-of-the-Box Management Using the JMX Remote API。它向您展示瞭如何創建一個連接到遠程JMX代理並訪問MBean的簡單客戶端應用程序。這應該引導你朝着正確的方向前進。

相關問題