Mule-如何访问Java组件中的流名称? [英] Mule - How to access flow name inside Java Component?
本文介绍了Mule-如何访问Java组件中的流名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们确实在许多流之间共享子流.我想在子流中找到哪个流是调用者...
We do have sub flows shared between many flows. I would like find within my subflow which Flow is the call one...
MEL:-
#[flow.name]
仅在Logger中工作.
is working only in Logger.
我什至无法将此值传递给Session/Anyother属性(通过set属性连接器),因此我可以使用message.getProperty方法进行访问.
I couldn't even pass this value into Session/Anyother property (by set property connector), so I can access using message.getProperty method.
先谢谢了.
推荐答案
您可以使用以下代码在Java组件中获取流名称
You can use following code for getting flow name in java component
import org.mule.api.MuleEventContext;
import org.mule.api.construct.FlowConstruct;
import org.mule.api.construct.FlowConstructAware;
import org.mule.api.lifecycle.Callable;
public class LogFlowName implements Callable, FlowConstructAware {
private FlowConstruct flowConstruct;
@Override
public void setFlowConstruct(FlowConstruct flowConstruct) {
this.flowConstruct = flowConstruct;
}
@Override
public Object onCall(MuleEventContext eventContext) throws Exception {
//TODO your code goes here
System.out.println("Flow Name is : " +flowConstruct.getName());
//TODO your code goes here
return eventContext.getMessage().getPayload();
}
}
希望这会有所帮助.
这篇关于Mule-如何访问Java组件中的流名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文