java - Apache Camel - 仅当队列大小大于时才使用消息

标签 java apache-camel jms activemq

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

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

消息一旦“传递到处理器”就会被消耗。

谢谢

最佳答案

是否可以使用 completionSize聚合消息?

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

请参阅this articale about aggregation

关于java - Apache Camel - 仅当队列大小大于时才使用消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59643039/

相关文章:

java - Executor 创建的线程池会释放内存吗?

java - 对 JTable 使用 ResultSetTableModel 有什么好处?

java - Camel 组件测试中的"unable to find valid certification path to requested target"

java - 如何以编程方式从 OSGI 蓝图中获取 bean?

logging - 使用 EJB 3 发送 JMS 消息时的事务划分

java - 使用 Jersey 将 xml 转换为 json 格式的 Restful WebService

java - 如何将不可变库与 Interface<T> 一起使用

spring-boot - 运行 Spring Boot Scheduler 和 Apache Camel 时出现问题

java - JMS - 从消息驱动 bean 同步发送消息

c# - 如何使用activeMQ NMS和C#实现同步请求-响应应用程序?