1

I'm not sure, how can we extract the flow-name and message-processor Name through MEL. For example I have multiple message processor. For logging, i need to extract the flow Name and Message-processor, so that I can find out transaction has crossed this particular flow and its message processor. Is there any simple way to find out. Please guide me. Please find the screenshot below. Here i need to Extract - set payload and its flowName (flow1)

enter image description here

Thanks in advance.

4

4 回答 4

3

对于 mule 3.8+ 版本起#[flow.name]不起作用。

在记录器或组件中使用#[mule:context.serviceName]表达式来提取流的名称

于 2017-07-19T20:41:51.943 回答
2

我知道这篇文章很旧,但我一直在尝试在 MEL 中找到一种方法来处理错误电子邮件。

对于您可以使用#[exception.event.flowConstruct.name] 的失败消息处理器的流名称,您可以使用#[exception.failingMessageProcessor].

这两种方法都可以在 MEL 中使用,无需使用 flowVar。

但是请注意,失败的处理器并不总是返回一个值,而是返回一个空值,我不知道为什么。

于 2017-02-27T16:13:53.000 回答
1

您可以使用 MEL 提取流名称:#[flow.name]

<flow name="name" doc:name="name">
    <http:inbound-endpoint address="http://localhost:8090/resources" doc:name="HTTP" />
    <logger message="name of flow: #[flow.name]" level="INFO" doc:name="Logger"/>
    <set-payload value="name" doc:name="Set Payload"/>
</flow>

or

flowConstruct.getName() in a Message Processor
于 2014-11-22T15:22:25.837 回答
0

激活此功能的两种方法(来自当前流名称)

第一个是——

<logger message="Current flowName: #[flow.name]" level="INFO" doc:name="Logger"/>

第二个是 -

<logger message="Current flowName: #[context:serviceName]" level="INFO" doc:name="Logger"/>
于 2018-05-25T06:37:55.170 回答