2016-09-30 11 views
0

私はMule CEを実行しています。私のフローの1つでは、複雑なオブジェクトを含んでいる静的なXMLファイルにアクセスしています。 私はこれをbeanを使って読み、それを変数に保存します。トランスの変数へのアクセス

<set-variable variableName="Settings" value="#[app.registry['LoadSetting']]" doc:name="Variable"/> 

これまでのところとても良いです。 私のトランスフォーマーでは、これらの値を読み、正しいキーでオブジェクトを見つけ、ペイロードにいくつかの値を入力する必要があります。 だから、どのように私は私の知る限り理解し

message.getInvocationProperty("test"); 

のように、私の変圧器クラスでこの変数にアクセスすることができ、「メッセージ」自体はavilableない..ですかそれは?

私はadviceinに質問hereを見つけたが、私は実際にその答えを理解していなかった(それはすべての後に金曜日の...)

よろしく

答えて

1

あなたの変換クラスを共有することはできますか?

変換クラスがorg.mule.transformer.AbstractMessageTransformerの場合、基本的には「メッセージ」にアクセスできます。 Mule User GuideまたはSlideshareから簡単な例を見つけることができます。

また別の方法として、@Exprannotationを使用することもできます。たとえば、この式@Expr("flowVars['Settings']") String myFlowVarSettingsをTransformationクラスの引数として渡します。それを使用してペイロードを完成させます。

+0

回答ありがとうございます。はい、私は "doTransform"をオーバーライドしています。私はそのメッセージに手を差し伸べることができるかどうかを見ます。 @Exprの代替案については決して読まないでください。 – elwis

+0

愚かなことに、私はAbstractMessageTransformerではなく、AbstractTransformerを拡張しました。大きな違い。しかし、それは何も "@Expr"アノテーションを楽しむことはできませんでしたが、私は.getInvocationProperty()でそれを得ることができます - 大きな感謝! – elwis

関連する問題