繁体   English   中英

是否可以在Apache Camel中将MXBean作为消息传递

[英]Is it possible to pass a MXBean as a message in Apache Camel

我想将MXBean作为消息从一个端点发送到另一个端点。 Apache Camel中已经包含的JMX消息格式支持吗?

我的项目涉及在本地计算机上获取JVM的MXBean。 我将使用CompilationMXBean,MemoryMXBean等。...[可在java.lang.management。*中找到]以获取JVM信息。

我也正在使用XML文件创建路由。 然后在Java中创建组件/端点(使用调度/获取功能)。

还是有一种创建自定义消息解析的方法? 对Apache骆驼来说是相当新的东西。

提前致谢。

Camel中的JMX组件实际上旨在传递JMX通知。 MXBean不能作为消息本身传递,但是如果我了解您要执行的操作,则可以通过以下两种方法将数据采样作为Camel消息传递:

  1. 将封装的引用传递给端点,该端点将引用解释为对引用的MBeanServer / MXBean的一个或多个JMX调用,以获取指定的值。 引用可以一般编码为JMXServiceURL,ObjectName和属性名称或操作名称/参数对的列表。

  2. 另外,您可以创建一个新的MXBean,安装在目标JVM上,该MXBean会定期采样所有必需的本地MXBean数据,对其进行汇总并将其作为JMX通知发出。 然后可以由标准的Camel JMX组件处理发出的通知。

您可能还想看一下jolokiahttp://www.jolokia.org/ )-这是一个很棒的项目,它可以使与JMX轻松集成到本地和远程JVM中,并使用可以是REST和基于JSON。

它支持批量操作,因此您无需进行通话。

我们在hawt.io项目( http://hawt.io/ )中使用Jolokia从运行Camel,ActiveMQ,ServiceMix等的远程JVM从基于Web的控制台收集数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM