如何从Mule流向Java组件传递参数?
作者:互联网
我刚刚开始使用m子,无法弄清楚如何将请求标头的一部分作为参数/参数传递给Java组件.
我的Java组件如下
public String processHeader(String in)
{
//process header
System.out.print(" Header" + in);
}
我已经能够通过以下方式从流程中访问processHeader
<component>
<method-entry-point-resolver>
<include-entry-point method="processHeader" />
</method-entry-point-resolver>
<singleton-object class="my.test.mule.Processor" />
</component>
使用http:// localhost:8080 / test访问以上内容.打印页眉测试
我可以使用以下内容转储标题的内容
< logger level =“ INFO” doc:name =“ Logger” message =“#[headers:INBOUND:*]” />
但是我似乎无法弄清楚如何将消息作为参数传递给processHeader,也找不到任何相关示例.任何帮助,将不胜感激.
顺便说一句,如果那很重要,我正在使用Mule 3.5.
解决方法:
为您的Java组件实现Callable接口.重写默认方法后,您将获得eventContext作为参数,在其中可以找到m子消息,从而使您可以访问标头和有效负载.示例在这里:
import org.mule.api.MuleEventContext;
import org.mule.api.lifecycle.Callable;
import org.mule.api.transport.PropertyScope;
public class Test implements Callable {
@Override
public Object onCall(MuleEventContext eventContext) throws Exception {
eventContext.getMessage().getProperty("header1", PropertyScope.INBOUND);
return null;
}
}
标签:mule,mule-el,mule-component,java 来源: https://codeday.me/bug/20191028/1956180.html