Camel 不会以最大空闲秒数 属性 终止 Java 进程(Spring-引导)

Camel doesn't terminate Java process with max idle seconds property (Spring-Boot)

我有一个使用 Apache camel 的 Spring 启动应用程序。它是一个独立的应用程序,使用 Camel 文件组件轮询目录,处理内容并使用 Camel Kafka 组件将其发送到 Kafka。我希望应用程序是短暂的,所以我希望它在给定的空闲秒数后自行终止。我正在使用 camel-spring-boot-starter 依赖项,因此我可以在应用程序属性中设置最大空闲秒数:

camel.springboot.duration-max-idle-seconds=20

20 秒后,我看到 camel 上下文和我的网络服务器(用于执行器)正常关闭,但 java 进程没有 return 退出代码 0。进程挂起这永远。

使用类似的属性,如果我这次设置camel.springboot.duration-max-seconds=20,camel context 和web-server 关闭日志完全相同并且正确关闭并且Java 进程return我期待的是退出代码 0。

你碰巧 运行 有过类似的行为吗?为什么 duration-max-idle-seconds 会正常关闭 camel 但不会终止 Java 进程?

我在 Camel 3.2.0 上遇到了这个问题,更新到 3.6.0 解决了这个问题。