我有以下路径,我想在完成数据库插入任务后才记录。
from("file:src/data?noop=true").unmarshal(jaxb)
.bean(SetQueryParameterToMap.class)
.to("sql:{{insertData}}?dataSource=myDataSource")
.onCompletion().log(" Inserted time " + new Date()).end();
但是日志信息打印多次而不是仅打印一次。我曾尝试过 onCompleteOnly ,但没有效果。这是预期的行为还是我在这里遗漏了一些东西?
答案 0 :(得分:1)
OnCompletion不用于确定单个任务何时完成。由于SQL组件无论如何都在同一个线程中运行,因此它将在完成路由中的下一步之前完成。只需删除.onCompletion(和.end)。