Apache Camel在处理后返回(对于外部sheduler)

时间:2018-04-11 17:16:50

标签: spring-boot apache-camel integration

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

1 个答案:

答案 0 :(得分:0)

您可以将驼峰弹簧启动配置为在X段时间,X空闲时段或处理超过X条消息后自行终止。

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

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