Apache camel 使用camel仅读取队列中的邮件数?
我可以使用camel上下文[xml]从activemq读取消息,但我不希望读取任何消息,例如,如果队列包含10000条消息,我们只希望读取前1000条消息,其余的消息不应被触碰Apache camel 使用camel仅读取队列中的邮件数?,apache-camel,camel-jms,Apache Camel,Camel Jms,我可以使用camel上下文[xml]从activemq读取消息,但我不希望读取任何消息,例如,如果队列包含10000条消息,我们只希望读取前1000条消息,其余的消息不应被触碰 我是新手不太清楚您希望您的程序如何工作。您想在收到1000条消息后停止路由吗?还是你的节目?还是在处理剩下的事情之前先把它们做完 无论如何,Jms组件都有一个maxMessagesPerTask参数,该参数是任务可以接收的消息数,在此之后任务将终止。那可能是你想要的 “jms:queue:order?maxMessage
我是新手不太清楚您希望您的程序如何工作。您想在收到1000条消息后停止路由吗?还是你的节目?还是在处理剩下的事情之前先把它们做完 无论如何,Jms组件都有一个maxMessagesPerTask参数,该参数是任务可以接收的消息数,在此之后任务将终止。那可能是你想要的
“jms:queue:order?maxMessagesPerTask=1000”如果队列中只有500条消息,您是否应该等到收到了额外的500条消息,那么总数是1000条呢。如果你重启你的应用程序呢 这是一个有点奇怪的用例。驼峰JMS组件被设计为从队列中连续消费。如果您想停车,请查看控制总线EIP,在那里您可以控制骆驼路线,并停车。还可以查看
RoutePolicy
,您可以使用该策略控制路由,例如查看节流路由策略,该策略可以根据负载等启动/停止路由
CiA2书还涵盖了骆驼路线的管理和控制,您可以在管理一章中查看