【发布时间】:2019-02-21 09:03:16
【问题描述】:
我们的应用程序使用 RabbitMQ 提供的多个队列中的数据。为了增加吞吐量,我们为每个队列启动多个线程,这些线程从这些队列中进行阻塞获取。
对于一个新服务,我们希望使用 Spring Boot,并且每个队列有多个线程从这些队列中获取数据。这是用于处理从某个队列到达的数据的规范 Spring Boot 代码:
@StreamListener(target = Processor.INPUT)
@SendTo(Processor.OUTPUT)
public Message<SomeData> process(Message<SomeData> message) {
SomeData result = service.process(message.getPayload());
return MessageBuilder
.withPayload(result)
.copyHeaders(message.getHeaders())
.build();
}
现在的问题是如何让 Spring Boot 产生多个线程来服务一个队列而不是单个线程。吞吐量对我们的应用程序非常关键,因此需要这样做。
【问题讨论】:
标签: java spring-boot rabbitmq