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");