spring-amqp - SimpleMessageListenerContainer为每个监听器单独的队列(java配置)

标签 spring-amqp

我正在尝试将以下 xml 配置转换为 java 配置。此配置提到listener1将从queue1检索消息,listener2将从queue2检索消息

<rabbit:listener-container connection-factory="connectionFactory">
    <rabbit:listener ref="listener1" queues="queue1" />
    <rabbit:listener ref="listener2" queues="queue2" />
</rabbit:listener-container>

使用java配置,我做了以下工作:

SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory());
container.setQueues(queue1(), queue2());
container.setMessageListener(messageListenerAdapter1());
container.setMessageListener(messageListenerAdapter2());

使用此配置,如何配置监听器1从队列1检索消息和监听器2从队列2检索消息?

最佳答案

XML 配置解析器创建一个新的 SimpleMessageListenerContainer对于每个 <rabbit:listener />元素。

一个容器只能有一个监听器; XML 只是一种连接具有公共(public)属性的多个容器的便捷方法(来自 <rabbit:listener-container/> 元素)。

关于spring-amqp - SimpleMessageListenerContainer为每个监听器单独的队列(java配置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35788310/

相关文章:

java - 重新连接 spring amqp

rabbitmq - Storm 使用 Spring AMQP 从 RabbitMq 读取消息

cluster-computing - RabbitMQ 队列设计和扩展

java - spring-rabbit 中的 ClassNotFoundException 取决于消费者或生产者何时启动

spring-boot - 更新rabbitmq中消息的有效负载

amqp - 为什么在 AMQP 中需要 messageId?

java - 如何通过 spring 集成来管道化 amqp 队列?

java - Spring Boot 中对多 RabbitMq 虚拟主机的动态支持

java - 如何同时运行共享相同读取器和写入器实例的 spring 批处理作业?

spring - 如何使用 Spring Boot 读取 RabbitMQ 死信消息的 x-death header ?