2013-01-01 52 views
0

消息我想從一個端點發送的MXBean的消息到另一個。 Apache Camel中已包含的JMX消息格式是否支持這種格式?是否有可能通過一個MXBean的在Apache的駱駝

我的項目涉及我在本地機器上得到一個JVM的一個MXBean。我將使用CompilationMXBean,MemoryMXBean等... [在java.lang.management。*中找到]來獲取JVM信息。

而且我使用的是XML文件來創建路線。 然後使用Java創建組件/端點( 使用dispatch/acquire功能)。

還是有一種方法來創建自定義消息解析? 對於apache駱駝來說相當新穎。

在此先感謝。在駱駝

回答

2

的JMX組件真的打算繞過JMX通知。該MXBean的不是通行的消息本身,但如果我明白你想要做什麼,有幾個方法可以傳遞數據採樣駱駝消息:

  1. 傳遞一個封裝參考端點哪些將引用解釋爲對引用的MBeanServer/MXBean的一個或多個JMX調用以獲取指定的值。一個引用可以被一般編碼爲JMXServiceURL,一個ObjectName和一個屬性名稱或操作名稱/參數對的列表。

  2. 或者,您可以在您的目標JVM上創建一個新的MXBean,它定期對所需的所有本地MXBean數據進行採樣,並將其彙總並作爲JMX通知發出。發出的通知可以由標準的Camel JMX組件處理。

+0

你的第二點非常清楚。但我並沒有完全理解你在第1點的含義。 我有一個替代解決方案,用於映射我將從Mxbean使用的每個信息,並將該地圖作爲消息傳遞。 –

+0

這就是我的意思。您在地圖中代表您正在傳遞消息的MXBean調用。它對你有用嗎? – Nicholas

+0

好的。還沒有嘗試過。我正在對我的一個模塊進行一些更改。在我可以繼續並處理JNA消息傳遞的信息之前,需要添加更多的功能。我一定會更新我做了什麼。謝謝 –

2

您可能還需要看一看jolokiahttp://www.jolokia.org/) - 它是一個偉大的工程,使之更容易與JMX在本地和遠程JVM集成和使用一個簡單的API,它可以是基於REST和JSON 。

它支持批量操作,所以你不要有繁瑣的電話等

我們使用椒在我們hawt.io項目(http://hawt.io/),以從運行駱駝遠程JVM一個基於Web的控制檯收集數據,的ActiveMQ,ServiceMix的,等等。

+0

問題在於,我只限於駱駝。 –

+1

我不明白你的意思是「只有駱駝」嗎?你的意思是隻有1個JVM? HAWT。io與JVM通信(通常是提供Web應用程序的JVM),但我們正在添加Fuse Fabric集成,以便您可以在每個集成視圖中查看整個Camel's進程集羣。 –

+0

不,我的意思是,這個項目不是一個私人項目,而是一個公司項目。所以我不能轉移我必須使用的技術。必須與在駱駝下創建的自定義基類完成。 –