我有以下路線DSL:Apache的駱駝:訪問CamelLoopIndex
from("file:" + autoLoadBaseDir + "?move=.classified")
.loop(fileTypes.length)
.choice()
.when(header("CamelFileName").contains(fileTypes[Integer.valueOf("${CamelLoopIndex}")]))
.to("file:" + classesBaseDir + "/" + fileTypes[Integer.valueOf("${CamelLoopIndex}")]);
如圖所示,我希望訪問CamelLoopIndex
並使用它作爲在陣列中的索引。表達式不計算,因此路由不會被創建。我究竟做錯了什麼?提前致謝。
這方面的文檔很少,而且我還沒有成功地在搜索幾個小時後獲得解決方案。
UPDATE:我已經發布了同樣的問題到駱駝用戶郵件列表。
我用這個,但不知何故表達不能得到解決。 – okello 2013-04-11 16:27:05
假設您可以在「簡單」表達式中使用$ {property.CamelLoopIndex}。如果你不使用簡單的try屬性(「CamelLoopIndex」) – katrin 2013-04-12 12:49:26
我只是使用了一個額外的處理器,我可以通過調用exchange.getProperty(「CamelLoopIndex」)來提取循環索引,並使用索引來獲取實際值我想,將其設置在標題中,並在隨後的路線組件中訪問它。看到下面的答案(我在這裏發佈我的解決方案)。 – okello 2013-04-12 12:57:14