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