179.4. 在 Camel 中激活 JMX

注意

Camel 2.8 或更早版本需要 Spring JAR 依赖项

spring-context.jarspring-aop.jarspring-beans.jarspring-core.jar 的类路径是 Camel 能够使用 JMX 工具的类路径。如果这些 .jars 不在 classpath 上,Camel 回退到非 JMX 模式。这种情况使用日志记录器名称 org.apache.camel.impl.DefaultCamelContext 记录在 WARN 级别。

Camel 2.9 开始,不再支持 Spring JARs 以 JMX 模式运行 Camel。

179.4.1. 使用 JMX 管理 Apache Camel

默认情况下,Camel 中启用了 JMX 工具代理,这意味着 Camel 运行时会创建并注册 MBean 管理对象及虚拟机中的 MBeanServer 实例。这样,Camel 用户可以立即深入了解 Camel 路由如何执行到单独的处理器级别。

支持的管理对象类型有 端点路由服务和 处理器。其中一些管理对象还会在性能计数器属性外公开生命周期操作。

DefaultManagementNamingStrategy 是默认的命名策略,它构建用于 MBean 注册的对象名称。默认情况下,org.apache.camelCamelNamingStrategy 创建的所有对象名称的域名。MBean 对象的域名可以由 Java VM 系统属性配置:

-Dorg.apache.camel.jmx.mbeanObjectDomainName=your.domain.name

或者,通过在 Spring 配置中添加 camelContext 元素中的 jmxAgent 元素:

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
  <jmxAgent id="agent" mbeanObjectDomainName="your.domain.name"/>
    ...
</camelContext>

Spring 配置始终都优先于系统属性。所有与 JMX 相关的配置都正确。