【问题标题】:Apache Camel - consume messages only if queue size greater thanApache Camel - 仅当队列大小大于
【发布时间】:2020-04-25 19:45:07
【问题描述】:

我试图找到仅当消息数大于某个数量时才使用 ActiveMQ 队列中的消息的方法。 有任何想法吗? 通常如果你使用语法:

from("jms:start-queue")
   .process(new SampleProcessor())
   .to("jms:end-queue")
.end();   

消息在“传递给处理器”后立即被使用。

谢谢

【问题讨论】:

  • 嗨!欢迎来到stackoverflow。如果你能解释你想要达到的目标会有所帮助吗?您是否正在寻找一个溢出处理器来处理积压的未处理问题,或者还有其他什么?如果队列大于 X 条消息,您是要检索队列的头部还是尾部?

标签: java apache-camel jms activemq


【解决方案1】:

是否可以使用completionSize aggregate 消息?

from("...")
    .aggregate(constant(true), new MyListAggregator())
    .completionSize(x)
    .to("...")

请看this articale about aggregation

【讨论】:

  • 不客气!如果您觉得有用,请随时投票并接受我的回答(绿色“勾号”)
猜你喜欢
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-05
  • 2010-11-24
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
相关资源
最近更新 更多