2017-10-07 128 views
0

我剛剛開始使用使用Apache Camel 2.15.3的應用程序。我是駱駝的新手,我試圖瞭解郵件是如何發送的,以及它在路由組件之間的外觀。Apache Camel消息格式

應用程序中的路由使用spring extension xml進行設置。以下是一條路線的樣子。

<route id="register"> 
     <from uri="{{in.queue}}"/> 
     <enrich uri="direct:getSequenceNumber" strategyRef="sequenceNumb"/> 
     <to uri="bean:extractor"/> 
     <to uri="bean:mover"/> 
     <to uri="bean:normalizer"/> 
     <to uri="bean:logger"/> 
     <to uri="bean:packager"/> 
     <split parallelProcessing="true"> 
      <simple>${body}</simple> 
      <to uri="{{out.queue}}"/> 
     </split> 
    </route> 

首先是一個簡短的術語問題:這個例子中的中間bean是什麼調用的?終點?組件?或者是其他東西?現在我稱他們爲組件。

我現在主要的困惑是瞭解什麼獲得輸入以及從一個組件傳遞到下一個組件的內容。在這種情況下,所有組件都是帶有一個公共方法的javabeans。該方法有時具有void返回類型,有時會返回一些對象。例如,String,List,駱駝消息對象,一個沒有實現任何類型駱駝接口的項目自定義對象。有時返回類匹配下面的bean的參數,有時它不會。

我不明白什麼是返回和輸入到組件的限制,並能夠閱讀和預測一旦bean內的消息將看起來像什麼。

我已經通讀了一些關於駱駝網站的文檔,並且我的谷歌搜索沒有提供任何有用的信息。

有人有解釋或提示什麼要搜索或鏈接到某個地方,解釋發生了什麼?

回答

0

我建議在行動本書來讀,駱駝的第一章(免費章節) - 它涵蓋了所有的架構,以及如何的重要駱駝概念的消息看起來像駱駝

+0

該文本是幫助。 1.3節給你一個粗略的想法,說明我認爲的豆子之間發生了什麼。仍然不確定示例中的bean是否被視爲端點,組件或處理器(我猜他們都是發送者/接收者)? – numfar

+0

所有''與上面的路由中的bean都使用管道和過濾器EIP模式進行路由,其中​​前一個輸出被輸入到下一個,等等,例如,如果鏈接多個方法用Java調用。 –