网站建设模板源码特效,山西 旅游 英文 网站建设,佛山营销型网站定制,做一家仓储用地的网站一、Spring AMQP 简介 SpringAMQP是基于RabbitMQ封装的一套模板#xff0c;并且还利用SpringBoot对其实现了自动装配#xff0c;使用起来非常方便。 
SpringAmqp的官方地址#xff1a;https://spring.io/projects/spring-amqp 
SpringAMQP提供了三个功能#xff1a; 
- 自动…一、Spring AMQP 简介 SpringAMQP是基于RabbitMQ封装的一套模板并且还利用SpringBoot对其实现了自动装配使用起来非常方便。 
SpringAmqp的官方地址https://spring.io/projects/spring-amqp 
SpringAMQP提供了三个功能 
- 自动声明队列、交换机及其绑定关系 - 基于注解的监听器模式异步接收消息 - 封装了RabbitTemplate工具用于发送消息  AMQP即Advanced Message Queuing Protocol是用于在应用程序之间传递业务消息的开放标准该协议与语言和平台无关更符合微服务中独立性的要求。 Spring AMQP 是基于AMQP协议定义的一套API规范提供了模版来发送和接受消息。包含两部分其中Spring-amqp是基础抽象spring-rabbit是底层的默认实现。 二、使用Spring AMQP实现基础消息队列功能 
基础消息队列模式的模型图 基础的消息队列模型包括三个角色 
- publisher消息发布者将消息发送到队列queue - queue消息队列负责接受并缓存消息 - consumer订阅队列处理队列中的消息 使用Spring AMQP实现基础消息队列功能 
流程如下 1.在父工程中引入spring-amqp的依赖 2.在publisher 服务中利用RabbitTemplate发送消息到 simple.queue 这个队列 3.在consumer服务中编写消费逻辑,绑定 simple.queue 这个队列 步骤一在父工程中引入依赖 
!--AMQP依赖包含RabbitMQ--
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId
/dependency 
步骤二在publisher中编写测试方法向 simple.queue发送消息 
1).在publisher服务 中编写application.yml添加mq连接信息 
spring:rabbitmq:host: 192.168.150.101 # 主机名port: 5672 # 端口virtual-host: / # 虚拟主机username: rbmq # 用户名password: 123456 # 密码 
2).在publisher服务中编写测试类SpringAmqpTest并利用RabbitTemplate实现消息发送 
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;RunWith(SpringRunner.class)
SpringBootTest
public class SpringAmqpTest {Autowiredprivate RabbitTemplate rabbitTemplate;Testpublic void testSimpleQueue() {// 队列名称String queueName  simple.queue;// 消息String message  hello, spring amqp!;// 发送消息rabbitTemplate.convertAndSend(queueName, message);}
} 
步骤三在consumer服务中编写消费逻辑,绑定 simple.queue 这个队列 1.在consumer服务中编写 application.yml,添加mq连接信息; spring:rabbitmq:host: 192.168.150.101 # 主机名port: 5672 # 端口virtual-host: / # 虚拟主机username: rbmq # 用户名password: 123456 # 密码 2.在consumer服务中新建一个类,编写消费逻辑 
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;Component
public class SpringRabbitListener {RabbitListener(queues  simple.queue)public void listenSimpleQueueMessage(String msg) throws InterruptedException {System.out.println(spring 消费者接收到消息【  msg  】);}
} 步骤四运行springboot程序测试发送接收消息。成功