从Java组件访问MuleMessage和流变量
我有一个接收有效负载(JsonData)的Java组件,如下所示:
public String myMethod(JsonData payload) throws IOException { // do things with payload. }
这工作正常,但我还需要访问方法中的流变量。 我明白,为此,我需要运行myMessage.getInvocationProperty(“my-variable-name”); 但是,由于我只传递了有效负载,因此我无法访问MuleMessage。 如何更改方法以便我可以访问我的消息/属性?
我试过了:
org.mule.RequestContext.getEvent().getMessage()
但它已被弃用。
此外,我已经阅读了关于这个问题的各种答案,但从未找到完整的答案。
谢谢,
通过invoke
消息处理器将流变量作为第二个参数传递给myMethod
。
因此,假设myMethod
的新签名是:
public String myMethod(JsonData payload, String myVariable) throws IOException { // do things with payload. }
你会这样做:
使用message.getInvocationProperty
方法。
设置变量:
从调用范围中检索变量:
String lastname = message.getInvocationProperty("lastname");