(资料图片仅供参考)
下面是一个完整的示例,演示如何使用 Spring Cloud Bus 在微服务之间传递消息。该示例包含两个微服务,一个是消息发送者,另一个是消息接收者。
首先,我们需要创建一个 Spring Boot 项目,并添加 Spring Cloud Bus 和 RabbitMQ 的依赖。在 pom.xml 文件中添加以下依赖:
org.springframework.cloud spring-cloud-starter-bus-amqp 2.2.1.RELEASE org.springframework.boot spring-boot-starter-web 2.2.1.RELEASE org.springframework.boot spring-boot-starter-amqp 2.2.1.RELEASE
在创建的项目中,我们定义了一个消息类型 MyMessage,该类型包含一个字符串类型的 content 属性。
javaCopy codepublic class MyMessage implements Serializable { private static final long serialVersionUID = 1L; private String content; public MyMessage(String content) { this.content = content; } public String getContent() { return content; } public void setContent(String content) { this.content = content; }}
然后,我们创建了一个消息发送者,该发送者使用 Spring Cloud Bus 发送消息。
@RestControllerpublic class MyController { @Autowired private MessageSender messageSender; @PostMapping("/send") public void sendMessage(@RequestBody MyMessage message) { messageSender.sendMessage(message); }}@Servicepublic class MessageSender { private static final Logger LOGGER = LoggerFactory.getLogger(MessageSender.class); @Autowired private MessageChannel output; public void sendMessage(MyMessage message) { LOGGER.info("Sending message: {}", message.getContent()); output.send(MessageBuilder.withPayload(message).build()); }}@Servicepublic class MessageListener { private static final Logger LOGGER = LoggerFactory.getLogger(MessageListener.class); @StreamListener(target = Sink.INPUT, condition = "headers["type"]=="MyMessage"") public void handleMessage(MyMessage message) { LOGGER.info("Received message: {}", message.getContent()); }}
在这个例子中,我们创建了一个 MyController 类,该类定义了一个发送消息的 API 接口,接收一个 MyMessage 类型的参数,将参数传递给 MessageSender 类的 sendMessage() 方法。
MessageSender 类定义了一个 sendMessage() 方法,该方法使用 Spring Cloud Stream 的 output 消息通道发送消息。
MessageListener 类定义了一个 handleMessage() 方法,该方法使用 @StreamListener 注解监听 Spring Cloud Stream 的 input 消息通道,并根据消息类型过滤消息。当有符合条件的消息到达时,handleMessage() 方法会被自动调用,处理接收到的消息。
在以上代码中,我们使用了 @Autowired 注解自动注入了 MessageSender 和 MessageListener 类,这是 Spring Boot 自带的依赖注入功能。
运行应用程序后,我们可以使用 Postman 工具或其他 HTTP 工具发送 HTTP POST 请求,将消息发送到消息发送者的 API 接口,如下所示:
POST http://localhost:8080/send HTTP/1.1Content-Type: application/json{ "content": "Hello, World!"}
当消息到达时,消息接收者会打印消息内容,如下所示:
2023-04-19 09:24:47.836 INFO 29740 --- [afka-listener-1] com.example.demo.M
标签:
-
使用 Spring Cloud Bus 在微服务之间传递消息示例
下面是一个完整的示例,演示如何使用SpringCloudBus在微服务之间传递消息。该示例包含两个微服务,一个是消
-
世界热讯:外资加速进入 中国依然是全球投资热土
新华社北京4月21日电 题:外资加速进入中国依然是全球投资热土新华社记者孟佳、马欣然、杨晓静最新数据显
-
Mobbles什么时候出 公测上线时间预告_全球热议
导读:最近很多玩家都在关注Mobbles这款手游,想知道具体的公测时间,Mobbles会经过封测、删档内测、不删档
-
全民健身线上运动会启动 首批上线18项赛事|天天速看料
北京日报客户端|记者王笑笑4月20日,2023年全民健身线上运动会正式启动。活动一启动便吸引了运动爱好者的热
-
全球快看点丨奖项双丰收!西安高新丝路通信公司实力再显
近日,西安高新金融控股集团有限公司产业投资板块旗下的西安高新丝路通信创新谷有限公司(简称“丝路通信公
-
一些政务App功能流于形式,让他们苦不堪言…… 当前消息
“问题上报:发现一个塑料瓶。解决方案:清理该塑料瓶。”近期,中部某县一名村党总支书记向记者介绍了一条
-
环法中国赛挑战赛_关于环法中国赛挑战赛介绍
环法中国赛挑战赛,关于环法中国赛挑战赛介绍这个很多人还不知道,我们一起来看看!1、环法中国赛挑战赛由国
-
上海农委渔业管理处:海昌海洋公园确有2头江豚死亡,生存环境恶劣说法不实 环球看热讯
2023年1月到2月左右,上海海昌海洋公园确实有2头长江江豚死亡。事情发生后,农业农村部委托全国水生野生动
-
业绩不被认可?一心堂跌停,东方证券、财信证券唱多遭打脸? 天天热讯
财报披露期,投资者的关注焦点聚集在业绩上。4月21日,连锁药店龙头一心堂低开低走,盘中触及跌停板。截至
-
每日快讯!智能计量仪表工程技术研究中心_对于智能计量仪表工程技术研究中心简单介绍
1、智能计量仪表工程技术研究中心,工程技术研究中心作为国家创新体系的重要组成部分,是行业和区域关键共
-
紧急时刻 他们临危不乱 操作满分! 最新
红网时刻新闻4月21日讯(通讯员李宏博)“虽然车辆已被烧得面目全非,但看着服务区大楼顶上‘欧阳海’三个
-
世界观焦点:艾克森:我的身体状态越来越好 希望国家队继续征召我
直播吧4月22日讯中超联赛第二轮,成都蓉城2-1战胜沧州雄狮。为蓉城首开纪录的艾克森,赛后当选为本场最佳。
-
南京前列腺炎医院哪家好 南京治前列腺炎到哪家医院比较好? 今日看点
南京前列腺炎医院哪家好1、肠道。直肠内的大肠埃希菌等细菌可以直接侵入或经过淋巴、小静脉或血流进行扩散
-
环球新动态:茅坝镇 网格管理推进基层治理
“村里各网格内的‘强组兴村’工作队队员、网格员、党员干部主动带头开展‘敲门服务’,关心村民的教育、医
-
探寻历史建筑的“地下空间” 环球资讯
本报上海电(记者黄晓慧)目前,上海市静安区张园东区的保护建筑平移工程正在紧锣密鼓地推进。据介绍,张园
-
淘宝里面我们怎么设置小额免支付(淘宝怎么设置小额免密支付) 微速讯
现在科技的越来越发达了,我们在网上就能买到自己想要的东西,淘宝我们是经常用到的,每次我们付款都需要支
-
成都首届建筑技能大比拼结果出炉啦
4月21日,由成都市住房和城乡建设局会同成都市人力资源和社会保障局、成都市总工会共同主办的成都市第一届
-
四冲程发动机工作原理动画_四冲程 全球播资讯
1、一?结构不同?二冲程摩托车的热力部分主要由气缸盖、气缸、活塞、活塞环等零件组成,四冲程摩托车的热力
-
世界微速讯:美将限制对华关键领域投资?中方回应具体详细内容是什么
美将限制对华关键领域投资?中方回应今天的热度非常高,现在也是在热搜榜上了,那么具体的美将限制对华关键
-
2023青岛海军舰艇开放审核通过后会收到短信吗? 简讯
2023年青岛海军舰艇开放审核通过后会收到短信吗?答:审核通过后,会收到短信本次活动观展免费预约,线上预
-
台州做阴唇漂红对身体有害吗-台州路桥南方妇产医院怎么样-全球时讯
由于各种原因,导致黑色素冷静,私密处色彩加深,使外在美观很受影响,激光私密归纳作用于黑色素沉淀,
-
环球观点:倒车入库怎么看后视镜和库角-倒车入库怎么看后视镜与库角
1、如图,以右边倒库为例,首先在库口距离右库角约30里面的地方做上标记。2、(先按照标记联系,熟练后即可
-
翟天临父母_翟天临父母
1、他的父母曾经仅仅一次暴露在媒体面前。2、而翟天临的父母仅仅只是经商的,而且曾经因为经商失败,还留下
-
中国经济有信心有能力行稳致远|环球快资讯
中国经济增长良好势头持续吸引世界目光。世界银行行长马尔帕斯近日表示,今年全球经济整体疲软,但中国将是
-
天天热门:泰聚泰2022年净利75.05万 同比减少52.80% 补助减少
泰聚泰2022年净利75 05万同比减少52 80%补助减少2023 4 2111:18:26挖贝网王小瑶挖贝网4月21日,泰聚泰(833470
-
金岭矿业(000655)2023年一季报简析:净利润减59.74% 全球速递
据证券之星公开数据整理,近期金岭矿业(000655)发布2023年一季报。根据财报显示,本报告期中金岭矿业净利
-
可见之处诚意满满 吉利星越L正式亮相_每日速读
[本站新车首发]4月13日,吉利官方正式向我们展示了基于吉利CMA超级母体打造而来的星越L。星越L名字中的“L
-
新冠药概念走势活跃,新华制药一度冲击涨停,拓新药业等大涨
新冠药概念21日盘中发力拉升,截至发稿,拓新药业涨超15%,亨迪药业涨超12%,华润双鹤涨停,众生药业涨近9%
-
科幻画说明书100字_科幻画说明
1、天空之城,雾霾横扫中华大地,严重影响人们的身体健康,特别是青少年。2、蓝天白云下的天空之城,向往清
-
“院线老大哥”的疯狂20年:珠江新城“大地主”的黑金秘辛_环球精选
不玩火的院线,不是好“地主”。