搜索

第 59 章 Camel CDI

download PDF

Camel CDI 组件使用 CDI 作为根据 约定配置进行依赖项注入框架,为 Apache Camel 提供自动配置。它自动检测应用程序中可用的 Camel 路由,并为通用 Camel 原语(如 Endpoint、 FluentProducerTemplateProducerTemplate 或 TypeConverter )提供 Bean。它实施标准 Camel Bean 集成,以便 Camel 注释(如 @Consume、 @Produce 和 @PropertyInject )可以在 CDI Bean 中无缝使用。此外,它还将 Camel 事件桥接(如 RouteAddedEventCamelContextStartedEventExchangeCompletedEvent, …​)作为 CDI 事件,并提供一个 CDI 事件端点,可用于消耗 / 到 Camel 路由的 / 生成 CDI 事件。

尽管 Camel CDI 组件作为 Camel 2.10 提供,但在 Camel 2.17 中被重写,以更好地适应 CDI 编程模型。因此,有些功能(如 Camel 事件)到 CDI 事件网桥,并且 CDI 事件端点仅应用启动 Camel 2.17。

Camel CDI 测试中提供了有关如何测试 Camel CDI 应用程序的更多详细信息。

小心

Camel-cdi 在 OSGi 中已弃用,不受支持。如果使用 Camel 与 OSGi,请使用 OSGi 蓝图。

59.1. 自动配置的 Camel 上下文

Camel CDI 自动部署和配置 CamelContext bean。当 CDI 容器初始化(关机)时,CamelContext bean 会自动实例化、配置和启动(重新创建)。它可在应用程序中注入,例如:

@Inject
CamelContext context;

默认的 CamelContext bean 通过内置的 @Default qualifier 进行授权,范围为 @ApplicationScoped,是 DefaultCamelContext 类型。

请注意,这个 bean 也可以以编程方式自定义,其他 Camel 上下文 Bean 也可以部署到应用程序中。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.