访问变压器中的变量

Accessing variables in transformer

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

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

到目前为止一切顺利。 然后,在我的 Transformer 中,我需要读取这些值,使用正确的键找到对象并在我的有效负载中填充一些值。 那么,我如何在我的 Transformer class 中访问这个变量,比如

message.getInvocationProperty("test");

据我了解,"message" 本身不可用..或者是吗?

我确实在问题 here 中找到了建议,但我并没有真正理解那个答案(毕竟是星期五..)

此致

你能分享你的转变吗class?

基本上,如果您的转换 class 扩展 org.mule.transformer.AbstractMessageTransformer,您就可以访问 "message"。您可以从 Mule User Guide or Slideshare.

中找到一些简单的示例

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