使用camel-spring-rabbitmq时无法终止含重传中消息的路由
关于Apache Camel spring rabbitmq组件重传时无法终止路由的问题
各位Camel用户与开发者:
我们在使用Apache Camel结合camel spring rabbitmq组件时遇到了问题。此前我们使用的是现已废弃的camel rabbitmq组件。
问题说明
当使用camel spring rabbitmq组件时,若路由中的消息处于重传状态,无法正常终止该路由:
- 消费者已停止
- 路由已终止
- 但处于重传中的在途消息仍会继续执行(线程保持休眠/运行状态)
而camel rabbitmq组件则无此问题:重传会被中断(抛出java.lang.InterruptedException: sleep interrupted异常),消息会回到RabbitMQ队列中,待路由重启后可重新投递。
示例项目
- 该项目展示了两个组件的不同行为
- 详情(如代码说明、运行及复现方式)请查看
readme.md
我们需要通过停止路由来中断重传,以满足维护需求,同时也需要能停止路由、移除队列消息后重启,恳请各位提供帮助。
注:我们最初在Camel3/SpringBoot2环境下测试(示例项目基于此),现已升级至Camel4/SpringBoot3,问题依旧,且目前已无可用的camel rabbitmq组件。
顺颂时祺
Bert
另外:我此前曾以新用户身份意外发布过该问题。
内容的提问来源于stack exchange,提问作者Bert Speckels
相关产品推荐
相关产品推荐

