2014-01-23 82 views
0

我是駱駝新手,我們正在構建一個EDI引擎,我們的要求是從多個文件夾讀取文件,然後第二步是解析消息類型和接收者ID,並基於這些消息需要路由到不同的文件夾。Apache Camel將文件從多個源文件夾複製到多個目標文件夾

源頭,消息類型,接收者ID和目的地不能在camel中硬編碼,而應該從數據庫中讀取並且路由需要動態構建。

請讓我知道我們需要遵循什麼策略。

感謝, Jayadeep

+0

你應該至少添加你到目前爲止嘗試過,所以對於其他用戶更容易幫助你 – nKn

+0

我們已經嘗試了動態路由器,因爲我們很好地動態添加路由,但是我們無法以編程方式設置目的地 – jjayadeep

回答

0

當我從您的意見明白的,可以從多個文件夾,通過動態地添加路由讀取,但試圖在這裏將消息發送的目的地決定時所面臨的問題,標題等是正在從數據庫中讀取。

下面是我該怎麼做。

獲取文件 - >使用數據庫調用豐富它並獲得接收者id等 - >使用Xpath並獲取接收者ID等並將它們設置爲屬性或標題 - >使用XSLT並刪除您豐富的值爲數據庫調用,所以現在你有原始的消息--->現在使用路由器,看看屬性/頭來決定<camel:to>路徑

+0

謝謝Dinesh,我想我明白我需要做什麼。 – jjayadeep

+0

當我使用基於內容的路由器時,我如何設置來自讓我們說一個hashmap。例如 'code' /*exchange.getIn().setHeader(stElement.concat(recId) stElement.concat(recId)); */ 頭= recId.concat(stElement);交換.getIn()。setHeader(「headerElement」,header); choice()。 時(標題( 「headerElement」)。isEqualTo(stRecIdMap.containsKey(標題( 「headerElement」))))。爲了 ((字符串)stRecIdMap.get(標題( 「headerElement」))) 'code' – jjayadeep

+0

我們可以從散列圖中設置TO – jjayadeep

相關問題