【发布时间】:2020-12-29 18:40:37
【问题描述】:
我以这种方式在我的 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 才会打印上一条消息的单词。换句话说,我想知道一个消息监听器如何一次处理多条消息我不知道是什么问题。
【问题讨论】:
标签: java spring-boot rabbitmq spring-amqp spring-rabbit