簡體   English   中英

需要MBean接口的JMX客戶端

[英]JMX Client needing MBean interface

我是JMX技術的新手,如果我理解正確:有兩種方法可以在Mbeans上調用操作:

1)使用MBeanServerConnection的調用操作並使用mbsc.invoke(name, operationName, params, signature)將方法名稱提供為String

2)使用JMX.newMBeanProxy(connection, objectName, interfaceClass) )獲取MBean接口JMX.newMBeanProxy(connection, objectName, interfaceClass)並調用interface上的操作。

我的問題是,如果我想使用上述第二種方法,是否還需要在客戶端中使用Mbean接口? Mbean接口是我要監視的主應用程序源代碼的一部分。 我是否還需要將相同的Mbean接口復制到客戶端代碼中?

對我而言,沒有best practice ,因為決定取決於您的需求。

在下面找到我的個人意見。

mbsc.invoke(name, operationName, params, signature)

如果客戶端應用程序不嚴格依賴執行MBean的應用程序,則客戶端應用程序不應依賴於接口。 jconsole實用程序為例。 它可以調用所有公開的操作,而無需訪問mbean接口類。

JMX.newMBeanProxy(connection, objectName, interfaceClass)

如果客戶端應用程序對執行MBean的應用程序具有高度依賴性(例如,您為應用程序提供了mbean,而客戶端應用程序是您的支持工具),那么我將采用此解決方案,因為您可以受益於編譯時間檢查。

暫無
暫無

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

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