[英]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.