spring rabbitmq-同时使用多个消息

kcrjzv8t  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(248)

我在spring boot应用程序中使用rabbitmq的方式如下:
发件人:

rabbitTemplate.convertAndSend("exchange", "routingKey", "Message Text");

侦听器:

@RabbitListener(queues = "queueName")
public void receive(String message) {
    System.out.println("start");  
    //send an http request that takes for example 4 seconds 
    System.out.println("end");  
}

使用上述代码,当应用程序执行发送器部分时, receive 方法已调用。我的问题是 receive 方法正在处理一条消息,如果发送方部分将另一条消息放入队列,则该方法不处理新消息,因此第二条消息 start 文字要等到 end 上一条消息的字。换句话说,我想知道,一个消息侦听器如何一次处理多个消息,我不知道问题出在哪里。

dy2hfwbg

dy2hfwbg1#

从您所说的问题来看,您的侦听器似乎是为单线程配置的。请参阅此处和此处的容器侦听器配置文档,特别是并发设置。并发设置控制有多少线程同时处理队列中的消息。

相关问题