2013-05-14 31 views

回答

5

騾子當它通過flow-ref調用私有流不會將任何屬性添加到一個事件,這樣你的選擇是:

  • 使用<set-variable>調用私有流之前設定的流量名稱的變量和閱讀這個變量與#[flowVars.yourVariableName]
  • 使用呼叫流程的入站端點作爲告訴誰在呼叫的方式。您可以獲取入站端點URL #[message.inboundProperties.MULE_ENDPOINT]或其名稱#[message.inboundProperties.MULE_ORIGINATING_ENDPOINT]
  • 創建一個自定義MessageProcessor,實現FlowConstructAware:這樣您將獲得流名稱,並且將能夠自動將其設置爲MuleEvent的消息上的調用變量。在flow-ref之前,在所有父流中使用custom-processor元素。
+0

David,這個表達式拋出異常''。例外是:'1。無法解析令牌:無法解析變量'流'(org.mvel2.UnresolveablePropertyException) org.mvel2.integration.impl.BaseVariableResolverFactory:60(null) 2.執行表達式「flow.name」失敗。 (org.mule.api.expression.ExpressionRuntimeException)'。但是,這工作正常:'' – 2013-05-14 18:10:48

+0

'#[flow.name]'無效:'flow'變量不是MEL中的隱式頂層變量 - 請參閱:http://www.mulesoft.org/documentation/display/current/MEL+Cheat+Sheet再次,Mule不會將任何變量與流名稱綁定,您必須自己設置它:''。我已經添加了第三個選項順便說一句:) – 2013-05-14 18:47:08

+0

我同意流不是頂級變量,但是當這個語句工作時:,它讓我嘗試不合理的東西。你能告訴請問爲什麼是#[flow.name]與記錄器工作 – 2013-05-14 19:17:04