1.安装RabbitMq
2.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
配置yml
rabbitmq:
host: 127.0.0.1
port: 5672 #15672是webUI访问的 端口 服务端口默认是5672
username: guest
password: guest
3.发送消息
- Rabiitmq 上新建一个queue
- 发送消息
public class TestController {
@Autowired
private AmqpTemplate amqpTemplate;
public void push() {
amqpTemplate.convertAndSend("myQueue", "测试消息");
}
}
- 此时RabbitMq WebUi上可在Queues中查到到该条消息
4.处理消息
public class RabbitMqReceiver {
/**
* 接收并打印消息
* 可以当队列不存在时自动创建队列
*
* @param message message
*/
@RabbitListener(queues = "myQueue")
public void process(String message) {
//服务启动后,这里接收到存在RabbitMq队列中未处理的多条消息。
//todo: 进行对应的消费逻辑
System.out.println(message);
}
}
public class RabbitMqReceiver {
/**
* 接收并打印消息
* 可以当队列不存在时自动创建队列,以及自动绑定指定的Exchange
* @param message message
*/
@RabbitListener(bindings = @QueueBinding(
value = @Queue("myQueue"),
exchange = @Exchange("myExchange")
))
public void process3(String message) {
// @RabbitListener注解用于监听RabbitMQ,bindings可以创建指定的队列及自动 System.out.println(message);
}
}