当前位置: 首页>后端>正文

并发消费RabbitMQ消息-concurrency

开启多个消费者(Java RabbitMQ 任意模式)

参考连接

  1. 实现过程描述:通过RabbitListener注解,配置concurrency参数即可实现,下面代码启动10个消费者并发处理消息;
  2. 实现原理分析:无论使用RabbitMQ哪种工作模式(点对点队列模式、工作队列模式、发布订阅模式、路由模式、主题模式、Header模式),每个队列都支持多个消费者消费一个队列的消息,在同一个队列中一条消息只会被其中一个消费者处理。
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

// 声明消息监听器,通过queues参数指定监听的队列
// 关键参数:concurrency 代表当前监听器需要启动多少个消费者,类型是字符串
@RabbitListener(queues = "hello", concurrency = "10")
@Component
public class HelloListener {
    // 使用RabbitHandler标记消息处理器,用来执行消息处理逻辑
    @RabbitHandler
    public void receive(String msg) {
        System.out.println("消费者 - 收到消息 '" + msg + "'");
    }
}

https://www.xamrdz.com/backend/3tf1937918.html

相关文章: