私はMuleDevkitを使用してカスタムプロセッサの実装に取り組んできました。
「mule-devkit-archetype-generic」アーキタイプでプロジェクトを作成しました。アノテーション「@Module」と「@Processor」が付いたクラスが提供されました
パラメータをプロセッサメソッドに渡すことができます。
しかし、@Processorメソッド内でMuleMessageとPayloadにアクセスする方法を取得できませんでした。
どうすればこれを達成できますか?
私はMuleDevkitを使用してカスタムプロセッサの実装に取り組んできました。
「mule-devkit-archetype-generic」アーキタイプでプロジェクトを作成しました。アノテーション「@Module」と「@Processor」が付いたクラスが提供されました
パラメータをプロセッサメソッドに渡すことができます。
しかし、@Processorメソッド内でMuleMessageとPayloadにアクセスする方法を取得できませんでした。
どうすればこれを達成できますか?
ペイロードにアクセスするには、次を使用します。
@Payload final DESIRED_TYPE payload
必要なタイプに置き換えるDESIRED_TYPE
と、Muleは現在のペイロードを目的のタイプに自動変換します。
たとえば、これによりバイトペイロードが得られます。
@Payload final byte[] payload
MuleMessageにアクセスするには、実際にMuleEventにアクセスし、そこからメッセージを取得します。このためには、メソッドに@Inject
アノテーションを追加し、プロセッサメソッドに引数を追加する必要があります。@Processor
MuleEvent muleEvent
Mule3.8.1を使用して2017/08/31を更新
@Processor
で注釈を付けようとすると、DevKitがコンパイルエラーを生成するようになりました@Inject
。MuleEvent
エラーメッセージは、メソッドにまたはMuleMessage
パラメータを追加するだけ@Processor
で、DevKitがパラメータを適切に挿入することを示しています。