178.5.2. 编程您自己的托管服务
可从 Camel 2.1 开始
Camel 现在提供了在注册服务进行管理时使用您自己的 MBeans。例如,您可以开发自定义 Camel 组件,并让其为端点、消费者和生产者公开 MBeans。您要做的只是实施接口 org.apache.camel.spi.ManagementAware
,并返回受管对象 Camel 应使用。
既然您认为 oh boys 之前,JMX API 真的很麻烦且很麻烦,然后是 yeah。没问题,但我们 Spring 也创建了一系列注解,供您用于在现有 Bean 上导出管理。这意味着,您通常会使用来自 ManagementAware
接口的 getManagedObject 并在 getManagedObject
中返回它。例如,请参阅
CustomEndpoint
上面的代码示例。
现在,在 Camel 2.1 中,您可以对 Camel 注册进行管理的所有对象执行此操作,这些对象非常广泛,但并非所有对象。
对于不实施此 ManagementAware
接口的服务,Camel 将回退到使用下表中定义的默认打包程序:
类型 | MBean 打包程序 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
除了用于特殊类型的扩展程序外,还有一些扩展器,例如:
类型 | MBean 打包程序 |
---|---|
|
|
|
|
|
|
|
|
|
|
未来,我们将为更多 EIP 模式添加额外的打包程序。