59.2. Camel ルートの自動検出
Camel CDI は、アプリケーション内のすべての RoutesBuilder Bean を自動的に収集し、インスタンス化して、CDI コンテナーの初期化時に CamelContext Bean インスタンスに追加します。たとえば、Camel ルートの追加は、クラスを宣言するのと同じくらい簡単です。
必要な数の RoutesBuilder Bean を宣言できることに注意してください。さらに、RouteContainer Bean も自動的に収集され、インスタンス化され、コンテナーの初期化時に Camel CDI によって管理される 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);
}