2013-01-15 135 views
2

我正在試驗駱駝,並發現它是一個便捷的終端集成工具。我已經設置了以下實驗應用程序:駱駝處理器爲enpoint

第一個端點是一個簡單的http-get請求(在命令行上使用curl)。這與使用Jetty的中央交換機(這是基於駱駝的應用程序)進行交互。這做了一些基本的修改,並將請求傳遞給處理請求的另一個端點(Thrift服務器)。它的響應然後被路由回命令行客戶端。因此,該設置是一種三層過度設計的Hello-world架構。

我的路由通常需要這種形式:

from("jetty:http://localhost:8080/hello").process(new DummyProcessor()).process(new HelloProcessor()); 

我的問題如下:

鑑於HelloProcessor發送節儉消息給另一個端點處理,不應該這寧爲組件?使用處理器來完成這樣的任務是否是好的(可接受的)做法?此外,如果確實可以接受,編寫組件的優點是什麼。

謝謝。

回答

2

如果您打算在一條或幾條路線上使用它,編寫組件時沒有任何好處。

如果您打算將來在多個路由中使用此處理器,並且需要通過某些參數進行配置的方法 - 那麼您通常會編寫自己的組件。它也可能使路線更具可讀性。組件也是在不同的Camel應用程序和項目之間共享的簡單工件。

from("file:///var/files/inbox").to("http://www.example.com/"); 
vs 
from("file:///var/files/inbox").process(sendHttpToExampleDotComProcessor); // or whatever 

如果這是一個一次性使用 - 不要過於複雜。