35.2. シンプルなプロセッサーの実装
概要
このセクションでは、ルート内の次のプロセッサーにエクスチェンジを委譲する前に、メッセージ処理ロジックを実行する簡単なプロセッサーを実装する方法を説明します。
Processor インターフェイス
シンプルなプロセッサーは、org.apache.camel.Processor インターフェイスを実装して作成されます。例35.2「Processor インターフェイス」 に示されているように、インターフェイスはエクスチェンジオブジェクトを処理する単一のメソッド process()
を定義しています。
例35.2 Processor インターフェイス
package org.apache.camel; public interface Processor { void process(Exchange exchange) throws Exception; }
Processor インターフェイスの実装
シンプルなプロセッサーを作成するには、Processor インターフェイスを実装し、process()
メソッドのロジックを提供する必要があります。例35.3「シンプルなプロセッサーの実装」 は、単純なプロセッサー実装の概要を示しています。
例35.3 シンプルなプロセッサーの実装
import org.apache.camel.Processor; public class MyProcessor implements Processor { public MyProcessor() { } public void process(Exchange exchange) throws Exception { // Insert code that gets executed *before* delegating // to the next processor in the chain. ... } }
process()
メソッド内のすべてのコードは、エクスチェンジオブジェクトがチェーン内の次のプロセッサーへ委譲される 前 に実行されます。
シンプルなプロセッサー内でメッセージボディーおよびヘッダー値にアクセスする方法は、「メッセージコンテンツへのアクセス」 を参照してください。
シンプルなプロセッサーのルートへの組み込み
process()
DSL コマンドを使用して、シンプルなプロセッサーをルートに組み込みます。カスタムプロセッサーのインスタンスを作成し、このインスタンスを引数として process()
メソッドに渡します。
org.apache.camel.Processor myProc = new MyProcessor(); from("SourceURL").process(myProc).to("TargetURL");