第284章 RouteBox コンポーネント (非推奨)
Camel バージョン 2.6 以降で利用可能
変更の対象となるルートボックス
routebox コンポーネントを使用すると、自動作成またはユーザーが挿入した camel コンテキストでホストされる camel ルートのコレクションに、カプセル化とストラテジーベースの間接サービスを提供する特殊なエンドポイントを作成できます。
Routebox エンドポイントは、camel ルートで直接呼び出すことができる camel エンドポイントです。routebox エンドポイントは、次の主要な機能を実行します
- カプセル化 - ブラックボックスとして機能し、内部 camel コンテキストに格納された camel ルートのコレクションをホストします。内部コンテキストは完全に routebox コンポーネントの制御下にあり、JVM にバインドされています。
- ストラテジーベースの間接化 - ユーザー定義の内部ルーティングストラテジーまたはディスパッチマップに基づいて、camel ルートに沿ってルートボックスエンドポイントに送信されたペイロードを特定の内部ルートに直接送信します。
- エクスチェンジ伝播 - ルートボックスエンドポイントによって変更されたエクスチェンジを camel ルートの次のセグメントに転送します。
routebox コンポーネントは、コンシューマーエンドポイントとプロデューサーエンドポイントの両方をサポートします。
プロデューサーエンドポイントには 2 つの種類があります
- 外部のルートボックスコンシューマーエンドポイントに入力リクエストを送信またはディスパッチするプロデューサー
- 内部に埋め込まれた camel コンテキストでルートを直接呼び出すプロデューサーは、外部のコンシューマーにリクエストを送信しません。
Maven ユーザーは、このコンポーネントの pom.xml
に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-routebox</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
284.1. Camel Routebox エンドポイントの必要性
routebox コンポーネントは、複雑な環境での統合を容易にするように設計されています。
- ルートの大規模なコレクションと
- さまざまな方法での統合を必要とする幅広いエンドポイントテクノロジーを含む
このような環境では、camel ルートを効果的に整理し、重ね合わせることで統合ソリューションを構築することが必要になることがあります。
- 粗粒度または高レベルのルート - 統合の重点領域を表す Routebox エンドポイントとして公開される内部または低レベルのルートの集約コレクション。以下に例を示します。
注目される点 | きめ細かいルートの例 |
---|---|
部門フォーカス | 人材ルート、販売ルートなど |
サプライチェーンと B2B フォーカス | 配送ルート、フルフィルメントルート、サードパーティーサービスなど |
テクノロジーフォーカス | データベースルート、JMS ルート、スケジュールされたバッチルートなど |
- きめ細かいルート - 単一の特定のビジネスおよび/または統合パターンを実行するルート。
きめ細かいルートの Routebox エンドポイントに送信されたリクエストは、リクエストを内部のきめ細かいルートに委任して、特定の統合目標を達成し、最終的な内部結果を収集して、きめ細かいルートに沿って次のステップに進むことができます。