179.6. 将 JMX 用于您自己的 Camel 代码
179.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。