最简单的消息队列模型
上图是rabbitMQ最简单的一种模式,只有生产者,消费者和队列。
生产者:发送消息;消费者:接收消息;队列:消息中转站
这里对rabbitMQ的原理及作用不做赘述,只讲实战用例
在pom.xml中引入RabbitMQ依赖
<!--rabbitMQ-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
在yml的写入RabbitMQ基本配置
生产者(消息发送者)代码
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 消息发送者
*/
@Component
public class Sender {
@Autowired
private AmqpTemplate amqpTemplate;
/**
* 发送消息方法
*/
public void send(String msg){
//向消息队列发送消息
// 参数一:队列名称
// 参数二:消息
this.amqpTemplate.convertAndSend("queue_fancy",msg);
}
}
消费者(消息接收者)代码
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
/**
* 消费者(消息接收者)
*/
@Component
public class Recevier {
//消息监听
@RabbitListener(queues = "queue_fancy")
public void process(String msg){
System.out.println("Recevier:"+msg);
}
}
测试代码
//注入生产者类
@Autowired
private Sender sender;
@Test
public void test1() {
//测试消息
this.sender.send("我胡汉三又回来了");
}