我想将MXBean作为消息从一个端点发送到另一个端点。
Apache Camel中已经包含的JMX消息格式是否支持此格式?
我的项目涉及在本地计算机上获取JVM的MXBean。我将使用CompilationMXBean,MemoryMXBean等... [可在java.lang.management。*中找到]以获取JVM信息。
我也正在使用XML文件创建路由。
然后在Java中创建组件/端点。
使用分派/获取功能)。
还是有创建自定义消息解析的方法?
对Apache骆驼来说还很新。
提前致谢。
最佳答案
Camel中的JMX组件实际上旨在传递JMX通知。 MXBean不能作为消息本身传递,但是如果我了解您要执行的操作,则可以通过两种方法将数据采样作为骆驼消息传递:
将封装的引用传递给端点,该端点将引用解释为对引用的MBeanServer / MXBean的一个或多个JMX调用,以获取指定的值。引用可以一般编码为JMXServiceURL,ObjectName和属性名称或操作名称/参数对的列表。
或者,您可以创建一个新的MXBean,安装在目标JVM上,该MXBean会定期采样所有必需的本地MXBean数据,对其进行汇总并将其作为JMX通知发出。然后可以由标准的Camel JMX组件处理发出的通知。