2013-01-07 95 views
8

什麼是Apache Camel路由中的「促銷單位」或流量?意思是,實際被路由的對象是什麼? A Message?一個Exchange阿帕奇駱駝:什麼是實際路由?

我問,因爲我認爲一個Route 1+ Processor端點,以及一個Exchange(含Message)是什麼實際上得到所有端點路由。

但似乎Exchange可以同時擁有一個入站和出站Message,這表明消息可以(相對於交流通過處理器/端點移動)通過交流移動。有人可以幫助澄清爲什麼交換機有入站和出站信息,以及實際傳遞給每個處理器/端點的路由是什麼?

回答

5

交換僅僅是單個路由中消息的包裝對象。

交換機中的輸入和輸出消息用於處理不同的交換模式(MEP)。

通常,這用於返回答案(即請求/響應模式)的處理器/端點,在Camel中它被命名爲InOut。然後處理器/組件將讀取參數In中的請求,並在參數Out中設置響應。在Out的下一步將變爲In。

如果您想在某處放置消息而不用擔心響應,可以使用ExchangePattern.InOnly

即使您在處理器中並想要轉換消息,也可以對In消息進行操作,並將其複製到Out。

這也書中駱駝在行動章節描述1.

的路由進行圍繞的消息傳遞和Exchange是用來傳遞所述消息,並訪問一些全局元數據的訪問對象。