微服务框架 SpringCloud微服务架构 16 SpringAMQP 16.2 入门案例的消息发送
创始人
2024-03-18 10:22:53
0

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

SpringCloud微服务架构

文章目录

      • 微服务框架
      • SpringCloud微服务架构
      • 16 SpringAMQP
        • 16.2 入门案例的消息发送
          • 16.2.1 直接开干
          • 16.2.2 总结

16 SpringAMQP

16.2 入门案例的消息发送

16.2.1 直接开干

案例:利用SpringAMQP实现HelloWorld中的基础消息队列功能

流程如下:

  1. 在父工程中引入spring-amqp的依赖

  2. 在publisher服务中利用RabbitTemplate发送消息到simple.queue这个队列

  3. 在consumer服务中编写消费逻辑,绑定simple.queue这个队列

【1】引入AMQP 的依赖

因为publisher和consumer服务都需要amqp依赖,因此这里把依赖直接放到父工程mq-demo中:


org.springframework.bootspring-boot-starter-amqp

在这里插入图片描述

【2】步骤2:在publisher中编写测试方法,向simple.queue发送消息

  1. 在publisher服务中编写application.yml,添加mq连接信息:
logging:pattern:dateformat: MM-dd HH:mm:ss:SSSspring:rabbitmq:host: 1.13.13.44 # rabbitMQ 的服务IP地址port: 5672 # 端口username: itcastpassword: 123321virtual-host: /

在这里插入图片描述

  1. 在publisher服务中新建一个测试类,编写测试方法:
package cn.itcast.mq.spring;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;import java.nio.channels.Pipe;/*** ClassName: SpringAmqpTest* date: 2022/10/31 10:05** @author DingJiaxiong*/@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringAmqpTest {@Autowiredprivate RabbitTemplate rabbitTemplate;@Testpublic void testSendMessage2SimpleQueue(){String queueName = "simple.queue";String message = "hello,Spring AMQP";rabbitTemplate.convertAndSend(queueName,message);}}

OK, 直接运行测试

在这里插入图片描述

绿了!消息发送完成了,看看控制台

在这里插入图片描述

妙啊

直接在控制台看看是啥

在这里插入图片描述

OK,没问题,就是我们发送的消息

回顾一下

在这里插入图片描述

16.2.2 总结

什么是AMQP?

  • 应用间消息通信的一种协议,与语言和平台无关。

SpringAMQP如何发送消息?

  • 引入amqp的starter依赖
  • 配置RabbitMQ地址
  • 利用RabbitTemplate的convertAndSend方法

相关内容

热门资讯

一男子晚上将石头搬路中间,有车... 新京报记者 赵露 制作 礼牧周 12月25日,有网民发视频称湖南东安一骑电瓶车男子将石头搬到冷东公路...
明年货币政策怎么走?央行释放新... 中国商报(记者 马文博)中国人民银行货币政策委员会2025年第四季度(总第111次)例会于近日召开。...
圣诞大战-杜兰特25分詹姆斯1... 【搜狐体育战报】北京时间12月26日NBA常规赛,客场作战的火箭以119-96击败湖人,湖人遭遇3连...
同村两男子酒后争着买单大打出手... 近日,安徽太和县的王某与李某两名同村邻居一起吃饭,饭后双方均属于醉酒状态,因爱面子争着付饭钱发生拉扯...
原创 法... 我们都知道,历史上各国军队的要求通常非常严格。士兵不仅需要具备高素质,忠诚度也必须极高,而训练的强度...
原创 红... 当今国际局势愈发复杂,俄乌战场的战火依旧纷飞,近期红军城的激烈攻防战中,一则异常动向引发国际关注——...
多里安·芬尼-史密斯助阵火箭圣... 圣诞节总是NBA赛程中备受瞩目的日子,而今年的圣诞大战,休斯顿火箭队和洛杉矶湖人队的对决无疑成为了焦...
卧室门一关,湿被子一堵!七旬夫... 深夜熟睡中 刺鼻的浓烟突然涌入卧室 客厅已是一片火海 这样的绝境下 两位七旬老人居然可以冷静应对 成...
原创 新... 中期选举临近,共和党选票落后一大步,留给特朗普的时间已经不多了。谁料,对华关税井沦为“选举筹码”,那...
广州市委常委、常务副市长、黄埔... 12月26日,南方+客户端发布消息称,近日,广东省委决定:陈杰同志任江门市委委员、常委、书记;陈岸明...