AMQP :Advanced Message Queuing Protocol ,应用间消息通信的一种协议,与语言和平台无关
SpringAMQP :基于 AMQP 协议定义的一套 API 规范,提供了模板来发送和接收消息。SpringAMQP 包含两部分,基础抽象 spring-amqp 和底层实现,默认以 spring-rabbit 作为底层实现
基于 SpringAMQP 实现基本队列模型(移步 RabbitMQ基本使用 可查看原生实现方式)
- 引入 amqp starter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
- consumer 模块
spring:
rabbitmq:
host: 192.168.255.128
port: 5672
virtual-host: /
username: itcast
password: 123321
@Component
public class SpringRabbitListener {
@RabbitListener(queues = "simple.queue")
public void simpleQueueListener(String message) {
System.out.println("接收到消息:【" + message + "】");
}
}
- publisher 模块
spring:
rabbitmq:
host: 192.168.255.128
port: 5672
virtual-host: /
username: itcast
password: 123321
@Autowired
private RabbitTemplate rabbitTemplate;
@Test
public void testSimpleQueue() {
String queueName = "simple.queue";
String message = "hello, rabbitmq!";
rabbitTemplate.convertAndSend(queueName, message);
}
- 启动 ConsumerApplication ,执行 testSimpleQueue() ,发现消息发送与接收正常