Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用MEL-MULE ESB提取流名称和MessageProcessor名称_Mule_Mule Studio_Mule El_Mule Component - Fatal编程技术网

如何使用MEL-MULE ESB提取流名称和MessageProcessor名称

如何使用MEL-MULE ESB提取流名称和MessageProcessor名称,mule,mule-studio,mule-el,mule-component,Mule,Mule Studio,Mule El,Mule Component,我不确定,如何通过MEL提取流名称和消息处理器名称。例如,我有多个消息处理器。对于日志记录,我需要提取流名称和消息处理器,这样我就可以发现事务已经越过了这个特定流及其消息处理器。有什么简单的方法可以找到答案吗。请引导我。请找到下面的截图。这里我需要提取-set有效负载及其flowName flow1 提前感谢。您可以使用MEL:[flow.name]提取流名称 <flow name="name" doc:name="name"> <http:inbound-endpoi

我不确定,如何通过MEL提取流名称和消息处理器名称。例如,我有多个消息处理器。对于日志记录,我需要提取流名称和消息处理器,这样我就可以发现事务已经越过了这个特定流及其消息处理器。有什么简单的方法可以找到答案吗。请引导我。请找到下面的截图。这里我需要提取-set有效负载及其flowName flow1


提前感谢。

您可以使用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

可以使用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

我知道这篇文章很老了,但我一直在努力寻找一种方法来在MEL中处理电子邮件错误

对于流名称,可以使用[exception.event.flowConstruct.name] 对于出现故障的消息处理器,可以使用[exception.failingMessageProcessor]

这两种方法都在MEL中工作,无需使用flowVar


但是请注意,出现故障的处理器并不总是返回值,而是返回空值,我不确定原因。

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

对于流名称,可以使用[exception.event.flowConstruct.name] 对于出现故障的消息处理器,可以使用[exception.failingMessageProcessor]

这两种方法都在MEL中工作,无需使用flowVar


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

对于mule 3.8+版本以后的版本[flow.name]不起作用


在记录器或组件中使用[mule:context.serviceName]表达式提取mule 3.8+版本以后的流的名称[flow.name]不起作用


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

从当前流名称中提取此名称的两种方法

第一项是—

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

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

从当前流名称执行此操作的两种方法

第一项是—

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

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

非常感谢!!成功了!!我可以提取flowName。是否有方法提取messageProcessor名称。出于好奇,我尝试了thz[flow.processor]和[flow.messageProcessor],但它返回null。知道吗?如果您想知道处理器消息在哪里执行,我建议使用ComponentMessageNotificationListener。非常感谢!!成功了!!我可以提取flowName。是否有方法提取messageProcessor名称。出于好奇,我尝试了thz[flow.processor]和[flow.messageProcessor],但它返回null。知道吗?如果您想知道处理器消息在哪里执行,我建议使用ComponentMessageNotificationListener。