我能够使用camel context [xml]从activemq读取消息,但我只想读取没有消息,例如,如果队列包含10 000条消息,我们只想读取前1000条消息,不应该被触及。
我是骆驼的新手
答案 0 :(得分:0)
目前尚不清楚您希望程序如何运作。你想在1000条消息后停止路线吗?还是你的节目?或者在处理其余部分之前完成它们?
无论如何,Jms组件有一个maxMessagesPerTask参数,该参数是一个任务可以接收的消息数,然后终止它。这可能会做你想要的。
“JMS:队列:为了maxMessagesPerTask = 1000”
答案 1 :(得分:0)
如果队列中只有500条消息,如果您等到收到额外的500条消息,那么总计为1000条。如果您重新启动应用程序等,该怎么办?
这是一个有点奇怪的用例。 Camel JMS组件旨在从队列中继续使用。如果要停止,请查看控制总线EIP,您可以在其中控制Camel路由,并停止它们。此外,请查看RoutePolicy
,您可以使用它控制路由,例如,查看可根据负载等启动/停止路由的限制路由策略。
CiA2书还介绍了管理和控制Camel路线,您可以在管理章节中查看。