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 将回退到使用下表中定义的默认打包程序:

Expand
类型MBean 打包程序

CamelContext

ManagedCamelContext

组件

ManagedComponent

端点

ManagedEndpoint

消费者

ManagedConsumer

Producer

ManagedProducer

Route(路由)

ManagedRoute

处理器

ManagedProcessor

tracer

ManagedTracer

Service

ManagedService

除了用于特殊类型的扩展程序外,还有一些扩展器,例如:

Expand
类型MBean 打包程序

ScheduledPollConsumer

ManagedScheduledPollConsumer

BrowsableEndpoint

ManagedBrowseableEndpoint

Throttler

ManagedThrottler

Delayer

ManagedDelayer

SendProcessor

ManagedSendProcessor

未来,我们将为更多 EIP 模式添加额外的打包程序。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat