RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战

Java项目整合RabbitMQ

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第1张图片

 创建一个maven项目。

然后我们在maven里加上jdk和rabbitmq的依赖设置:

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第2张图片

 我们写一段生产者的代码:

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第3张图片

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第4张图片

 然后我们去运行它:

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第5张图片

 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第6张图片

可以看到这里有一个队列。

 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第7张图片

现在我们是可以查看到队列的。

我们去写消费者代码:

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第8张图片

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第9张图片

这里的之前的代码都是固定的创建工厂和管道,然后在使用Consumer消费者去写自己的业务逻辑。

运行结果:

 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第10张图片

这里需要注意的是我们的这个要设置成在控制台页面中存在的,不然会报错找不到。

 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第11张图片

当我们消费完队列的时候我们再去查看,就会发现队列数为0.

 我们在工作中可能一个生产者不止对应一个消费者,可能我们一个生产者要对应多个消费者。

所以这里我们来学习一下工作队列要怎么写呢?

我们去更改之前的生产者的代码:

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第12张图片

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第13张图片

 然后我们去更改消费者的代码:

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第14张图片

 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第15张图片

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第16张图片

我们复制这个类然后去创建第二个消费者:
 我们去启动这两个消费者。

我们可以看到现在的消息为0;

 现在我们去运行我们的生产者:
RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第17张图片

 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第18张图片

 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第19张图片

 如果我们的生产者时间比较长会导致消费者时间比较慢,这样就不太好。

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第20张图片

我们先把之前的队列名称改一下用来区分是新的策略。

 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第21张图片

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第22张图片 

消费者2同理,我们只是把等待时间改成1秒。这里的改变只是加了一个消费者限制数。

再同样运行一次:
 RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第23张图片

RabbitMQ学习笔记4(小滴课堂)RabbitMQ工作队列模型实战_第24张图片 

这就突出了一个能者多劳的特点。 

你可能感兴趣的:(RabbitMQ,java-rabbitmq,rabbitmq,学习)