【发布时间】:2020-09-06 15:27:28
【问题描述】:
我观察到队列中有多条消息,但我的工作人员正在一条一条地挑选消息,它没有并行处理消息。我在这里做错了什么?我如何处理多条消息以最多使用我的工作进程。有什么最佳做法吗?
我不确定并发值 8 在这里做什么。
application.yml
spring:
rabbitmq:
host:
port:
username:
virtual-host:
password:
listener:
simple:
concurrency: 8
prefetch: 8
Bean 配置:
@Bean
Queue queue() {
return new Queue("testQ", true);
}
@Bean
TopicExchange exchange() {
return new TopicExchange("testE");
}
@Bean
Binding binding(Queue queue, TopicExchange exchange) {
return BindingBuilder.bind("testQ").to("testE").with("a.b.c");
}
@Bean
SimpleMessageListenerContainer container(ConnectionFactory connectionFactory,
MessageListenerAdapter listenerAdapter) {
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.setQueueNames("testQ");
container.setMessageListener(listenerAdapter);
return container;
}
@Bean
MessageListenerAdapter listenerAdapter(Receiver receiver) {
return new MessageListenerAdapter(receiver, "handleMessage");
}
【问题讨论】:
标签: spring-boot rabbitmq