【发布时间】:2019-12-27 16:07:42
【问题描述】:
如果我们在 ActiveMQ 中没有更多消息,是否有一种方法可以停止 Camel 路由?我需要的场景。
- 从 ActiveMQ 队列中获取所有消息并进行处理。
- 再轮询 2-3 次以检查我们是否还有其他新消息,如果是,请执行步骤 #1。
- 如果当前没有消息停止路由并在 5 分钟后重新启动(我猜这可以通过轮询策略来实现)。
【问题讨论】:
-
您能否解释一下您为什么要这样做?消息传递应用程序通常是事件驱动的,即当消息到达时,它会被处理。您描述的消息轮询方法可能是可能的,但它以某种方式“伤害了概念”,因此您需要做更多的工作。
-
据我了解,Camel ActiveMQ 组件轮询队列,并且由于我们的应用程序在云中,我们希望最小化轮询
标签: apache-camel activemq spring-jms