【问题标题】:Please explain the difference between the usage of concurrentConsumers and spring.activemq.pool.max-connections in apache camel请解释一下apache camel中concurrentConsumers和spring.activemq.pool.max-connections的用法的区别
【发布时间】:2021-07-13 08:53:08
【问题描述】:

我花了将近两天的时间来了解 Apache Camel 中的 concurrentconsumers 与 spring.activemq.pool.max-connections 的概念。但我真的不明白这个概念。谁能帮我理解这个概念。

我可以同时使用吗?

当前场景:6 个生产者服务(不同队列)的通用侦听器代码。 spring.activemq.pool.max-connections = 10。

我需要的一个场景:应该在监听器中一次处理 1 个请求发送到下游系统。 生产者收到 10 req/sec 的请求,我希望消费者从队列中挑选并发送 1 req/sec 到下游系统。

如何才能将消费者数量只更改为这条路线。

提前致谢。

【问题讨论】:

    标签: java spring-boot apache-camel


    【解决方案1】:

    我不知道 Spring 配置。直到现在使用 Camel 时才需要它。

    但是,Camel 的 concurrentConsumers 配置定义了并发消费者的数量。如果将其设置为 1,则按顺序处理消息。消费者获取第一条消息,对其进行处理,然后获取下一条消息。

    如果将其设置为 5,则 5 个单独的消费者正在处理来自同一队列的消息。

    如何才能将消费者数量只更改为这条路线。

    您可以使用 concurrentConsumers 端点选项为每个单独的消费者端点更改它。这会否决连接工厂的通用配置。

    from("activemq:queue:yourQueue?concurrentConsumers=1")
        ...
    

    【讨论】:

      猜你喜欢
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 2015-03-21
      • 2017-08-31
      相关资源
      最近更新 更多