2

Javaでトランスフォーマーなどを記述する方法の例はたくさんありますが、フィルターについては何もありません(スクリプトタイプのフィルターを除くが、Javaメソッドを使用したい)。

ソースからシンクへのメッセージのペイロードをフィルター処理するカスタム Java フィルターを作成したいと考えています。

フィルタの例はすべて式を参照しています。

(どのように) 式として指定されたクラスで Java メソッドを実行するようにコンテキストに指示できますか?

4

1 に答える 1

6

さて、カスタム プロセッサ モジュールを実装するために必要なもの。Spring XD Guildeの Custom Transformer サンプルに従ってください

Selectorフィルターのカスタム:

public class MySelector implements MessageSelector {

     boolean accept(Message<?> message) {
      ...
    }
}

モジュール ctx myfilter.xml:

<channel id="input"/>

<filter input-channel="input" output-channel="output">
    <beans:bean class="custom.MySelector" />
</filter>

<channel id="output"/>

クラスをjarにパッケージ化し、すべてを次の${xd.home}/modules/processors/myfilter構造のディレクトリに配置します。

/myfilter
   /config
      myfilter.xml
   /lib
      myfilter.jar

次のようにテストします。

xd:> stream create --name filtertest --definition "http | myfilter | log"
于 2014-04-01T09:58:58.633 に答える