180.6. 将 JMX 用于您自己的 Camel 代码
180.6.1. 注册您自己的受管端点
作为 Camel 2.0
,您可以使用 Spring managed annotations @ManagedResource
分离您自己的端点,以便在 Camel MBeanServer
中注册它们,从而使用 JMX 访问您的自定义 MBean。
注意
在 Camel 2.1 中,我们进行更改以应用其他端点,但随后您需要实施接口 org.apache.camel.spi.ManagementAware
。稍后将对此进行更多。
例如,我们有以下自定义端点,其中定义了要管理的一些选项:
@ManagedResource(description = "Our custom managed endpoint") public class CustomEndpoint extends MockEndpoint implements ManagementAware<CustomEndpoint> { public CustomEndpoint(final String endpointUri, final Component component) { super(endpointUri, component); } public Object getManagedObject(CustomEndpoint object) { return this; } public boolean isSingleton() { return true; } protected String createEndpointUri() { return "custom"; } @ManagedAttribute public String getFoo() { return "bar"; } @ManagedAttribute public String getEndpointUri() { return super.getEndpointUri(); } }
从 Camel 2.9 开始,建议使用 org.apache.camel.api.management
软件包中的 @ManagedResource
、@ManagedAttribute
和 @ManagedOperation
。这允许您的自定义代码不依赖于 Spring JAR。