0

私はMuleDevkitを使用してカスタムプロセッサの実装に取り​​組んできました。

「mule-devkit-archetype-generic」アーキタイプでプロジェクトを作成しました。アノテーション「@Module」と「@Processor」が付いたクラスが提供されました

パラメータをプロセッサメソッドに渡すことができます。

しかし、@Processorメソッド内でMuleMessageとPayloadにアクセスする方法を取得できませんでした。

どうすればこれを達成できますか?

4

1 に答える 1

2

ペイロードにアクセスするには、次を使用します。

@Payload final DESIRED_TYPE payload

必要なタイプに置き換えるDESIRED_TYPEと、Muleは現在のペイロードを目的のタイプに自動変換します。

たとえば、これによりバイトペイロードが得られます。

@Payload final byte[] payload

MuleMessageにアクセスするには、実際にMuleEventにアクセスし、そこからメッセージを取得します。このためには、メソッドに@Injectアノテーションを追加し、プロセッサメソッドに引数を追加する必要があります。@ProcessorMuleEvent muleEvent

Mule3.8.1を使用して2017/08/31を更新

@Processorで注釈を付けようとすると、DevKitがコンパイルエラーを生成するようになりました@InjectMuleEventエラーメッセージは、メソッドにまたはMuleMessageパラメータを追加するだけ@Processorで、DevKitがパラメータを適切に挿入することを示しています。

于 2013-03-07T18:28:01.277 に答える