Mule-如何访问Java组件中的流名称? [英] Mule - How to access flow name inside Java Component?

查看:194
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆