一、创建案例项目

打开https://start.spring.io/ ,在“Dependencies”中搜索RabbitMQ和web,生成spring-boot项目

rabbitmq 消息队列创建 rabbitmq如何创建队列_大数据

点击生成按钮,即下载了一个包含RabbitMQ的项目。

然后导入到Eclipse中。

二、配置RabbitMQ的配置文件

在application.properties 文件里配置上一篇文章中安装的RabbitMQ的信息,如下图

rabbitmq 消息队列创建 rabbitmq如何创建队列_微服务_02

注:这里的端口号是5672,不是上篇中的访问管理后台页面的端口号。

三、消息队列基础知识。

1 Provider
消息生产者,就是投递消息的程序。
2 Consumer
消息消费者,就是接受消息的程序。
3 没有使用消息队列时消息传递方式

rabbitmq 消息队列创建 rabbitmq如何创建队列_java-rabbitmq_03

4 使用消息队列后消息传递方式

rabbitmq 消息队列创建 rabbitmq如何创建队列_大数据_04

5 什么是队列?
队列就像存放了商品的仓库或者商店,是生产商品的工厂和购买商品的用户之间的中转站
6 队列里存储了什么?
在rabbitMQ 中,信息流从你的应用程序出发,来到Rabbitmq 的队列,所有信息可以只存储在

一个队列中。队列可以存储很多信息,因为它基本上是一个无限制的缓冲区,前提是你的机器有足够的存储空间。

7 队列和应用程序的关系?
多个生产者可以将消息发送到同一个队列中,多个消息者也可以只从同一个队列接收数据。

四、创建消息队列

由上面的基础知识可知,消息的队列,其实就是生产者和消费者的中间桥梁。先创建消息队列,并且项目启动时就应创建好。

QueueConfig.class

rabbitmq 消息队列创建 rabbitmq如何创建队列_大数据_05

注意:这里的Queue 导入的是org.springframework.amqp.core.Queue;

五、创建生产者

Sender.class

rabbitmq 消息队列创建 rabbitmq如何创建队列_java-rabbitmq_06

AmqpTemplate : spring 封装的MQ的模版,直接调用即可。

六、创建消费者

rabbitmq 消息队列创建 rabbitmq如何创建队列_微服务_07

通过注解@RabbitListener 监听消息队列;此注解里的参数queues 可以使用数据格式放入多个消息队列名称,可以监听多个消息队列。

注:创建的消息队列、生产者、消费者的队列名称必须一一对应。

七、测试

代码如下

rabbitmq 消息队列创建 rabbitmq如何创建队列_java-rabbitmq_08

注入生产者Sender。每隔2秒钟向队列里发送一个消息,消息内容是当前的时间,共发送10次。

运行后,控制台打印如下。

rabbitmq 消息队列创建 rabbitmq如何创建队列_微服务_09

同时,查看RabbitMQ的guan管理后台,会发现多了一个同名队列 “hello-queue”。

rabbitmq 消息队列创建 rabbitmq如何创建队列_rabbitmq_10

rabbitmq 消息队列创建 rabbitmq如何创建队列_java-rabbitmq_11