一架梯子,一头程序猿,仰望星空!
RabbitMQ教程 > 内容正文

Java RabbitMQ Work模式(多个消费者)


Java RabbitMQ Work模式,就是配置多个消费者消费一个队列的消息,可以提高消息的并发处理速度,架构如下图

RabbitMQ Work模式

提示:无论使用RabbitMQ那种工作模式,每个队列都支持多个消费者,同一个队列,一条消息只会被其中一个消费者处理。

1.前置教程

请先阅读下面章节,了解相关知识

2.配置多个消费者

通过RabbitListener注解,配置concurrency参数即可实现,下面代码启动10个消费者并发处理消息。

package com.tizi365.rabbitmq.listener;

import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

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

推荐教程