第35章 プロセッサーの実装
概要
Apache Camel では、カスタムプロセッサーを実装することができます。カスタムプロセッサーをルートへ組み込み、ルートを通過するエクスチェンジオブジェクトに対して操作を実行することができます。
35.1. 処理モデル
パイプラインモデル
パイプラインモデル は、プロセッサーが 「パイプとフィルター」 に配置される方法を記述します。パイプラインは、シーケンス状に並んだエンドポイントを処理する最も一般的な方法です (プロデューサーエンドポイントは、特殊なタイプのプロセッサーに過ぎません)。プロセッサーがこのように配置される場合、エクスチェンジの In および Out メッセージは、図35.1「パイプラインモデル」 で示すようにに処理されます。
図35.1 パイプラインモデル
パイプライン内のプロセッサーはサービスのように見え、In メッセージはリクエストに、Out メッセージはリプライに似ています。実際に使用されているパイプラインでは、パイプライン内のノードは、多くの場合で CXF コンポーネントなどの Web サービスエンドポイントによって実装されています。
たとえば、例35.1「Java DSL パイプライン」 は、シークエンス状に並んだ 2 つのプロセッサーである ProcessorA
、ProcessorB
と、プロデューサーエンドポイントである TargetURI から設定された Java DSL パイプラインを示しています。
例35.1 Java DSL パイプライン
from(SourceURI).pipeline(ProcessorA, ProcessorB, TargetURI);