2013-07-01 63 views
0

騾3.3.1社區版。騾同步標註消息不變

我想知道如果我在Mule中遺漏了一些簡單的配置模式,這將允許我執行以下一般類型的過程。我想要一個來自入站端點的消息。然後,我想呼叫某個其他端點(如路由確定服務),並根據該出站呼叫的結果將原始消息...不變...發送給第二個出站端點。

對路由服務的呼叫改變了原始消息。使用類似線頭的結構似乎會造成排序問題。我可以通過複製所有的頭文件和有效載荷來完成,但是每次需要時都要編寫繁瑣的代碼,而且讀起來很尷尬。我可以很簡單地通過編寫一個自定義轉換器來設置結果變量。

但是,是否有一些簡單的「純騾流」解決方案呢?這似乎有點類似於http-proxy模式構造的基本原理,不需要手動將所有入站內容複製到出站。

回答

2

根據我的理解,它可以使用mule現有的處理器和變壓器來實現。在下面的鏈接解釋使用騾子Messag濃縮塔:

讀你從入站端點

第一步輸入後。 通過這種方式,您可以調用出站並將出站回程設置爲流或會話變量,從而保持有效負載不受干擾。

Mule Message Enricher

步驟2:然後,可以使用其在富集設置爲使所述第二齣站的呼叫流/會話變量。

這種場景的抽象流程是這樣的。

<flow > 
    <inbound-endpoint>  

    <enricher target="#[variable:myTempFlowVar]"> 
     <outbound call > 
    </enricher> 
    <choice> 
     <when expression="#[flowVar['myTempFlowVar'] == 'Test']" > 
      <outbound call 2> 
     </when> 
     <otherwise> 
      <something else> 
     </otherwise> 
    </choice> 
</flow> 

希望這會有所幫助。

+0

謝謝。這是可行的。 – Tad