架构

CamelContext 自动配置

师成师成· 更新于 2026-09-28· 阅读 11 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

CamelContext 自动配置

当使用 Camel Main、Camel Spring Boot 或 Camel Quarkus 运行 Camel 时,CamelContext 会被自动配置。

Camel 自动配置

在这些运行时中,自动配置由 camel-main JAR 中的共享代码执行,以确保在这些运行时上的配置保持一致。

自动配置分几个步骤执行:

  1. 从外部来源(如 application.properties|yaml)的属性配置 CamelContext(以及组件等更多内容)
  2. 配置已在注册表中注册的可选服务

属性的自动配置

此功能用于配置 100 多个标准选项,这些选项列在 Camel Main 页面的 Camel Main 选项 表格中。

在 Spring Boot 上使用 Camel 时,这些选项的前缀为 camel.springboot,而不是 camel.main。

可选服务的自动配置

配置完标准选项后,Camel 会在注册表中查找要使用的自定义服务。例如,接入自定义的 UnitOfWorkFactory。

这些服务可以是任何能够接入 Camel 的内容(通常是实现了 org.apache.camel.spi SPI 接口的服务)。

以下 SPI 服务在注册表中只能存在单个实例(单例)。

SPI描述
AsyncProcessorAwaitManager使用自定义的异步处理器等待管理器
BacklogTracer使用自定义的积压跟踪器
ClassResolver使用自定义的类解析器。仅当在特殊的应用服务器上运行 Camel 以处理类加载问题时才需要此项。
Debugger使用自定义的调试器
EventFactory使用自定义的事件通知器工厂
ExchangeFactory使用自定义的交换工厂
ExecutorServiceManager使用自定义的线程池管理器
FactoryFinderResolver使用自定义的工厂查找器解析器。仅当在特殊的应用服务器上运行 Camel 以处理类加载问题时才需要此项。
HealthCheckRegistry使用自定义的健康检查注册表
InflightRepository使用自定义的在途消息库
ManagementObjectNameStrategy使用自定义的 JMX MBean 对象命名策略
ManagementStrategy使用自定义的 JMX 管理策略
MessageHistoryFactory使用自定义的消息历史工厂
ModelJAXBContextFactory使用自定义的 JAXBContext 工厂(仅当在特殊的应用服务器上运行 Camel 以处理 JAXB 类加载问题时才需要)
NodeIdFactory使用自定义的自动生成节点 ID 工厂
ProcessorFactory使用自定义的 EIP 处理器工厂
PropertiesComponent使用自定义的属性组件
ReactiveExecutor在 Camel 路由引擎中使用自定义的响应式引擎
RouteController使用自定义的路由控制器
RuntimeEndpointRegistry使用自定义的运行时端点注册表
ShutdownStrategy使用自定义的关闭策略
StartupStepRecorder使用自定义的启动记录器
ThreadPoolFactory使用自定义的线程池工厂
UnitOfWorkFactory使用自定义的工作单元工厂
UuidGenerator使用自定义的 UUID 生成器

对于以下 SPI 服务,在 Registry 中可以有多个(一个或多个)实现。

SPI描述
CamelClusterService添加所有自定义的 camel 集群服务
EndpointStrategy添加所有自定义的端点策略
EventNotifier添加所有自定义的事件通知器
GlobalSSLContextParametersSupplier使用自定义供应商以供 JSSE(Java 安全) 使用
InterceptStrategy添加所有自定义的拦截策略
LifecycleStrategy添加所有自定义的生命周期策略
LogListener添加所有日志监听器
ModelLifecycleStrategy添加所有自定义的模型生命周期策略
RoutePolicyFactory添加所有自定义的路由策略工厂
ServiceRegistry添加所有自定义的 camel-cloud 服务注册表
ThreadPoolProfile添加所有线程池配置文件
TypeConverters添加所有自定义的类型转换器

评论

登录后参与评论

正在加载评论…