0
在一臺駱駝路由器中,我們檢查一個標誌文件是否存在,並且只有在它存在時才繼續。這是我們打算使用的代碼,但它不起作用。檢查文件是否存在基於內容的路由
String flagFilePath = "file:" + flagFileFolder
+ "?noop=true&idempotent=false&fileName=" + flagFileName;
from(flagFilePath)
.choice()
.when(header("CamelFileName").isNotNull())
.log(LoggingLevel.TRACE, "Flag file exists.")
.otherwise()
.log(LoggingLevel.INFO, "Flag file does not exist.");
我明白otherwise
是不到達這裏,因爲如果它不存在的文件,整個路由器不會被觸發。
有沒有簡單的方法來檢查文件是否存在沒有手寫謂詞?
(注:如你在上面的代碼中看到的,我需要這個條件來觸發報警日誌)
不應該在要調用的路由之外放置標誌檢查,然後在標誌文件存在時調用路由嗎? –
查看sendEmptyMessageWhenIdle選項 –
@ClausIbsen,謝謝解決我的問題。在這種情況下,我需要'.endChoice()'嗎? –