60.2. 自动探测 Camel 路由
Camel CDI 会自动收集应用程序中的所有 RoutesBuilder Bean,实例化并在 CDI 容器初始化时将它们添加到 CamelContext bean 实例中。例如,添加 Camel 路由就像声明类一样简单,例如:
请注意,您可以声明尽可能多的 RoutesBuilder Bean。另外,当容器初始化时,还会自动收集 RouteContainer beans、实例化并添加到 CamelContext bean 实例。
可作为 Camel 2.19 提供
在某些情况下,可能需要禁用 RouteBuilder 和 RouteContainer Bean 的自动配置。这可以通过观察 CdiCamelConfiguration 事件来实现,例如:
static void configuration(@Observes CdiCamelConfiguration configuration) {
configuration.autoConfigureRoutes(false);
}
static void configuration(@Observes CdiCamelConfiguration configuration) {
configuration.autoConfigureRoutes(false);
}
同样,可以取消激活配置的 CamelContext Bean 自动开始,例如:
static void configuration(@Observes CdiCamelConfiguration configuration) {
configuration.autoStartContexts(false);
}
static void configuration(@Observes CdiCamelConfiguration configuration) {
configuration.autoStartContexts(false);
}