创建一个具有2个消费者和多个端点的RabbitListenerContainerFactory来侦听消息的行为是什么



我有一个要求,我有1个直接交换,5个不同的队列用唯一的路由密钥绑定到它。基本上,每个队列都用于不同的使用者端点。我使用的是使用@RabbitListener的spring托管端点注册表。因此,注册了5个端点。在实现它的过程中,我创建了一个RabbitListenerContainerFactory,其concurrentConsumer值为2。但我有一个问题,如果创建了一个消费者大小为2的工厂,那么所有端点都会有单独的消费者吗?或者消费者是每个工厂创建的,而这个containerFactory将为所有5个端点服务。那么,如果2个消费者为所有5个队列提供服务,那么其他队列消费者将处于空闲状态,直到首先为一个队列消息提供服务,负载不会出现不平衡吗?我应该为不同的端点创建单独的containerFactory吗?

每个@RabbitListener都有自己的容器,每个容器有2个使用者。

它是一个容器工厂,用于为每个带注释的方法创建一个容器。将其视为一个"模板";与XML中的<rabbit:listener-container/>元素非常相似,它有一组公共属性,但每个<rabbit:listener/>子元素都有自己的容器。

相关内容

  • 没有找到相关文章

最新更新