阿帕奇骆驼在加工后返回(用于外部脱落器)



我们使用 Spring Boot 来运行 Camel 路线,使用 Camel Spring Boot 启动器。我们想知道如何在骆驼中准确完成处理?问题是,由于我们从 Camel 外部调用可执行 jar 文件,因此它需要知道 Camel 处理何时完成(例如在处理目录中的一堆文件之后(。如果我们启用 camel.springboot.main-run-controller=true,驼峰进程永远不会返回,外部批处理将无限期地等待。如果我们使camel.springboot.main-run-controller=false,驼峰进程将立即返回而不处理文件(因为路由是在守护线程中启动的(。有没有更简单的解决方案?

您可以将骆驼弹簧引导配置为在 X 时间段、X 空闲时间段或处理超过 X 条消息后自行终止。

您可以使用 spring application.properties 文件中的camel.springboot.XXX选项配置这些。

另一种方法是在处理完所有文件等后使用控制总线停止路由。但前者在闲置超过 30 秒等后可能更容易说。

最新更新