我不確定,我們如何通過MEL提取流名稱和消息處理器名稱。例如,我有多個消息處理器。對於日誌記錄,我需要提取流名稱和消息處理器,以便我可以找出事務處理已經越過了這個特定的流程和消息處理器。有沒有什麼簡單的方法來找出答案。請指導我。請找到下面的截圖。在這裏,我需要提取 - 集有效載荷及其flowName(流1)如何使用MEL提取流名稱和MessageProcessor名稱 - MULE ESB
在此先感謝。
我不確定,我們如何通過MEL提取流名稱和消息處理器名稱。例如,我有多個消息處理器。對於日誌記錄,我需要提取流名稱和消息處理器,以便我可以找出事務處理已經越過了這個特定的流程和消息處理器。有沒有什麼簡單的方法來找出答案。請指導我。請找到下面的截圖。在這裏,我需要提取 - 集有效載荷及其flowName(流1)如何使用MEL提取流名稱和MessageProcessor名稱 - MULE ESB
在此先感謝。
你可以用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。
但請注意,失敗的處理器並不總是會返回一個值,但會返回null,我不知道爲什麼。
感謝您的更新。 – star 2017-02-27 23:17:18
對於騾3.8+版本以上#[flow.name]
不起作用。
使用#[mule:context.serviceName]
表達式在記錄器或組件中提取流程名稱
謝謝!有效!!我可以提取flowName。有沒有一種方法來提取messageProcessor名稱。由好奇,我已經嘗試像thz#[flow.processor]和#[flow.messageProcessor],但它返回null.Any想法? – star 2014-11-23 03:55:22
如果您想知道處理器消息正在執行的位置,我建議使用ComponentMessageNotificationListener。 http://www.mulesoft.org/documentation/display/current/Mule+Server+Notifications – 2014-11-23 15:54:41