简单介绍在项目中基本使用RabbitMQ,从RabbitMQ的接收和发送信息来举例
RabbitMQ的引入
项目引入spring cloud Bus
的依赖,完成项目中服务与RabbitMQ的连接
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
RabbitMQ的信息发送方
使用注入的方式使用AmqpTemplate
@Autowired
private AmqpTemplate amqpTemplate;
AmqpTemplate
含有许多种发送消息的方式。
上边图中的方法为发送RabbitMQ的方式提供了多样化。我这边介绍最简单的方式
/**
* @Description: 发送MQ消息
* "myQueue" -> 消息发送的目标
* "message" -> 消息
*/
amqpTemplate.convertAndSend("myQueue", message);
RabbitMQ的信息接收方
消息接收的三种方式。代码如下
// 1. 非自动创建Queue,如果启动前没有创建Queue,会抛出 Failed to declare [myQueue]
@RabbitListener(queues = "myQueue")
// 2. 自动创建队列Queue
@RabbitListener(queuesToDeclare = @Queue("myQueue"))
// 3. Exchange和Queue绑定
@RabbitListener(bindings = @QueueBinding(
value = @Queue("myQueue"),
exchange = @Exchange("myExchange")
))
接收RabbitMQ的消息在SpringBoot项目中使用的是@RabbitListener
。这块的配置同样也是需要自己配置的
想要了解@RabbitListener
注解中各个方法的定义请看RabbitListener