2012-08-27 64 views
7

最近我開始使用駱駝,我發現它可能解決了我的許多集成層需求。駱駝是否爲每條路線創建線程

我已經創建了一個Java客戶端應用程序(在任何容器不運行),其中i定義的兩個路線:

ROUTE1:從輸入的文件夾1文件移動到FOLDER2

路徑2:從folderx移動文件內容到mq隊列。

我開始我的應用程序,這些路由正在做他們的工作輪詢這些文件夾和相應的路由消息。

任何人都可以解釋我是如何工作的路線。駱駝(上下文)是否爲每條路線創建一個線程。究竟發生了什麼?

注意:我在駱駝網站上找不到這個簡單的註釋。

回答

9

它取決於您在路徑中使用的組件,正在創建和使用多少個線程。

以及駱駝中的一些EIP支持多個線程(線程池),因此可以配置爲使用N個線程。

在你的例子中它是文件組件,它使用單個線程。由於您有2條路線,您將使用2條線程。某些組件還允許配置它們的線程(例如線程池)。比如最近我們增加的支持,以便在駱駝2.10文件組件(見http://camel.apache.org/file2的ScheduledExecutorService的選項)

這裏有一個關於駱駝的線程模型的一些注意事項 http://camel.apache.org/threading-model.html