2013-05-14 79 views
1

我有一個問題,其中一個mule組件將有效負載對象轉換爲其他值。例如:假設我的有效載荷包含學生對象。 Student name = a的初始值;如何將相同的有效載荷發送到mule中的多個組件?

我的第一個騾子組件將學生姓名更改爲x;

Student s=new Student(); 
s.setName("x"); 

我的第二個騾子組件從有效載荷中接收名稱爲X。但我想要原始值爲'a'。 我試圖檢查騾子的原始有效載荷,但該值也隨之改變..

<flow ..... 
    <component> </component> // 1st component 
    <component></component> //2nd component 
</flow> 

我想同樣的有效載荷(原)在兩個component..how我可以做到這一點(有名稱的Student對象)? 我已經檢查原始有效載荷和已轉換..

感謝

回答

3

您可以使用<all>以相同的有效載荷發送到不同的組件,如

<flow ..... 
    <all> 
     <component> </component> // 1st component 
     <component></component> //2nd component 
    </all> 
</flow> 

,或者以不同的方式接近同樣的事情將原始有效載荷存儲在一個變量中,然後用前一個替換有效載荷,例如:

<set-variable variableName="originalPayload" value="#[message.payload]" /> 

然後,

<set-payload value="#[flowVars.originalPayload]"/> 
2

騾也使用scatter gather部件,發送所述有效載荷到多個端點並聯。該組件已經從騾3.5.0 .. 例子介紹:

<scatter-gather doc:name="Scatter-Gather" timeout="6000"> 
<flow-ref name="flightBroker1" /> 
<flow-ref name="flightBroker2" /> 
<flow-ref name="flightBroker3" /> 
</scatter-gather> 

這裏是參考: - https://developer.mulesoft.com/docs/display/current/Scatter-Gather

相關問題