2016-09-30 67 views
0

我正在运行Mule CE,在我的一个流程中,我正在访问一个包含复杂对象的静态XML文件。 我使用一个bean读这个文件并将它保存在一个变量中。在变压器中访问变量

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

到目前为止这么好。 在我的Transformer中,我需要读取这些值,用正确的键找到对象并在我的有效载荷中填入一些值。 那么,怎样才能访问我该变量在我的Transformer类,像

message.getInvocationProperty("test"); 

据我了解,在“消息”本身不是即时拍摄..或者是什么呢?

我没有找到advicein问题here,但我真的不知道这个问题的答案(这是星期五毕竟..)

问候

回答

1

你可以分享你的转换类?

基本上,如果您的Transformation类延伸org.mule.transformer.AbstractMessageTransformer,则可以访问“消息”。你可以从Mule User GuideSlideshare找到一些简单的例子。

作为另一种选择,您可以使用@Exprannotation。例如,将此表达式@Expr("flowVars['Settings']") String myFlowVarSettings作为参数传递给您的Transformation类。然后用它来完成有效载荷。

+0

感谢您的回答,是的,我重写了“doTransform”。我会看看我是否可以得到这条消息。永远不要阅读关于@Expr的选择,看起来不错 – elwis

+0

愚蠢的我,我扩展了AbstractTransformer,而不是AbstractMessageTransformer。巨大差距。但是,它并没有享受任何“@Expr”注释,但我可以通过.getInvocationProperty()获得它 - 非常感谢! – elwis