180.5. 使用 JMX 监控 Camel
180.5.1. 使用 JConsole 监控 Camel 复制链接链接已复制到粘贴板!
如果您在与 Camel 相同的主机上运行 JConsole,则 CamelContext
应该出现在本地连接列表中。
要连接到远程 Camel 实例,或者本地进程没有显示,请使用 Remote Process 选项,并输入 URL。以下是一个 localhost URL:service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel
.
使用带有 JConsole 的 Apache Camel:
180.5.2. 哪些端点被注册 复制链接链接已复制到粘贴板!
在 Camel 2.1 中,只有 单例
端点被注册,因为在使用数千个或数百万端点的情况下,非单例的开销将具有大量。当使用 Recipient List EIP 或来自发送大量消息的 ProducerTemplate
时会出现这种情况。
180.5.3. 哪些处理器被注册 复制链接链接已复制到粘贴板!
请参阅此常见问题解答。
180.5.4. 如何使用 JMX NotificationListener 侦听 Camel 事件? 复制链接链接已复制到粘贴板!
Camel 通知事件提供了发生情况的粗粒度概述。您可以从上下文和端点查看生命周期事件,您可以看到由接收并发送到端点的交换。
在 Camel 2.4 中,您可以使用自定义 JMX NotificationListener 侦听 camel 事件。
首先,您需要在启动 CamelContext 前设置 JmxNotificationEventNotifier
:
其次,您可以注册侦听器以侦听该事件:
180.5.5. 使用 Tracer MBean 获取精细的追踪 复制链接链接已复制到粘贴板!
此外,对于 Camel 2.9.0 上面的粗粒度通知,还支持 JMX 通知用于精细的追踪事件。
它们可以在 Tracer MBean 中找到。要激活精细的追踪,您首先需要在上下文或路由上激活追踪。
这可以在配置上下文时或上下文 / route MBeans 来完成。
作为第二个步骤,您必须在 tracer 上将 jmxTraceNotifications
属性设置为 true
。在配置上下文或运行时在 tracer MBean 时可以再次完成此操作。
现在,您可以使用 JConsole 在 Tracer MBean 上注册 TraceEvent 通知。路由中都会有一个通知,其中包含所有交换和消息详情: