2017-07-28 129 views
0

我有以下路線,我只想在完成數據庫插入任務後登錄。駱駝onCompletion沒有按預期工作

from("file:src/data?noop=true").unmarshal(jaxb) 
.bean(SetQueryParameterToMap.class) 
.to("sql:{{insertData}}?dataSource=myDataSource")         
.onCompletion().log(" Inserted time " + new Date()).end(); 

但日誌消息被打印多次而不是隻打印一次。我也嘗試過onCompleteOnly也沒有效果。這是預期的行爲還是我在這裏錯過了一些東西?

回答

1

OnCompletion不用於確定單個任務何時完成。由於SQL組件無論如何都在同一個線程中運行,因此在繼續執行路由中的下一步之前,它將完成。只需刪除.onCompletion(和.end)。