RabbitMQ Work Queues (工作队列模式) 使用案例

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~
🌱🌱个人主页:奋斗的明志
🌱🌱所属专栏:RabbitMQ

📚本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为展示我的学习过程及理解。文笔、排版拙劣,望见谅。

前言

在前面学习了简单模式的写法, 接下来学习另外几种工作模式的写法
简单模式
快速入门程序就是简单模式.

默契之舞 之 生产者消费者模式(RabbitMQ)

Work Queues (工作队列)

简单模式的增强版, 和简单模式的区别就是: 简单模式有一个消费者, 工作队列模式支持多个消费者接收消息, 消费者之间是竞争关系, 每个消息只能被一个消费者接收

1、引入依赖


<!-- https://mvnrepository.***/artifact/***.rabbitmq/amqp-client -->
<dependency>
    <groupId>***.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    <version>5.20.0</version>
</dependency>

2、编写生产者代码

工作队列模式和简单模式区别是有多个消费者, 所以生产者消费者代码差异不大
相比简单模式, 生产者的代码基本⼀样, 为了能看到多个消费者竞争的关系, 我们一次发送10条消息
我们把发送消息的地方, 改为一发送10条消息


for (int i = 0; i < 10; i++) {
   
   
    String mag = "hello work queue......" + i;
    channel.basicPublish("", Constants.WORK_QUEUE, null, mag.getBytes());
}

Constant 包下 Constants 类

package rabbitmq.constant;

public class Constants {
   
   
    public static final String HOST = "123.57.16.61";
    public static final Integer PORT = 5672;
    public static final String USERNAME = "study";
    public static final String PASSWORD = "study";
    public static final String VIRTUAL_HOST = "bite";
    //声明一个工作队列
    public static final String WORK_QUEUE = "work.queue";
}

完整代码:

package rabbitmq.work;

import ***.rabbitmq
转载请说明出处内容投诉
CSS教程网 » RabbitMQ Work Queues (工作队列模式) 使用案例

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买