【发布时间】:2018-03-28 20:40:30
【问题描述】:
我正在编写一个 Spring Boot 应用程序,它使用来自 RabbitMQ 的消息并对其进行处理。由于发布者正在高速发布消息,我希望我的消费者也能够高速处理它们。
我的消费者代码不是线程安全的。
以下是一种可能的方式,我想到了实现:
- 将消费者范围标记为“原型”并
- 在“SimpleMessageListenerContainer”中为同一个类注入多个消费者
如何使用以下代码实现此目的?
@Bean
SimpleMessageListenerContainer container(ConnectionFactory connectionFactory,
MessageListenerAdapter listenerAdapter) {
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.setQueueNames("MY_MESSAGE_QUEUE");
container.setConcurrency("10");
container.setMessageListener(listenerAdapter);
<<How can I set multiple MessageListener here?????>>
}
提前致谢。
【问题讨论】:
-
在此处查看链接中的帖子 - stackoverflow.com/a/47908387/2600196
标签: spring rabbitmq spring-amqp