当前位置: 首页>关注 >
环球快报:使用 Spring Cloud Bus 在微服务之间传递消息示例
2023-04-22 14:41:30 来源:腾讯云
(资料图片)
下面是一个完整的示例,演示如何使用 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
关键词:
为你推荐
-
重庆有了“环保天眼” “大渝治水”系统赋能水环境治理 世界热议
-
当前消息!太押韵了~
-
每日视点!农历十月是什么季节(农历季节月份是如何划分的?)
-
异议被驳回!宝能系所持股份被强制变价执行
-
二战黑科技:竖耳朵的“袋鼠"
-
世界视点!种植粮食而非烟草 吸烟不如“熄”烟
-
赵云龙胆皮肤获得途径_赵云龙胆皮肤购买攻略-全球速读
-
圣安地列斯:空袭任务怎么做 圣安地列斯空袭任务怎么做
-
手机模拟开车游戏推荐 模拟真实开车体验驾驶 每日报道
-
朋友的近义词最佳答案_朋友的近义词
-
皇氏集团拟3.29亿出售资产2.63亿用于还贷 标的净资产3.71亿君乐宝溢价1.7倍接盘_世界最资讯
-
A股“破发王”又出事!首席核心技术人员离职-每日资讯
-
三菱越野十万左右_三菱越野车10万左右
-
世界视讯!5月30日基金净值:中银健康生活混合最新净值2.113
-
用户全国第8,河北步入物联网大省
-
粗盐过滤一贴二低三靠_过滤一贴二低三靠 当前焦点
-
2023年养老金标准涨幅高达3.8%!上海市会成为第一个公布调整方案的地区吗?
-
环球微速讯:如果没人帮忙劝和,那么俄罗斯将有可能对西方发起核打击?
-
美媒刊载漫画揭债务危机真相:普通民众才是最终受害者 天天动态
-
天天快讯:助推建筑业高质量发展 川渝两地企业携手探索服务新模式
推荐内容
- 重庆有了“环保天眼” “大渝治水”系统赋能水环
- 当前消息!太押韵了~
- 每日视点!农历十月是什么季节(农历季节月份是如
- 异议被驳回!宝能系所持股份被强制变价执行
- 二战黑科技:竖耳朵的“袋鼠"
- 世界视点!种植粮食而非烟草 吸烟不如“熄”烟
- 赵云龙胆皮肤获得途径_赵云龙胆皮肤购买攻略-全球
- 圣安地列斯:空袭任务怎么做 圣安地列斯空袭任务
- 手机模拟开车游戏推荐 模拟真实开车体验驾驶 每
- 朋友的近义词最佳答案_朋友的近义词
- 皇氏集团拟3.29亿出售资产2.63亿用于还贷 标的净
- A股“破发王”又出事!首席核心技术人员离职-每日
- 三菱越野十万左右_三菱越野车10万左右
- 世界视讯!5月30日基金净值:中银健康生活混合最
- 用户全国第8,河北步入物联网大省
- 粗盐过滤一贴二低三靠_过滤一贴二低三靠 当前焦点
- 2023年养老金标准涨幅高达3.8%!上海市会成为第一
- 环球微速讯:如果没人帮忙劝和,那么俄罗斯将有可
- 美媒刊载漫画揭债务危机真相:普通民众才是最终受
- 天天快讯:助推建筑业高质量发展 川渝两地企业携
- “六一”国际儿童节前夕,四川博物院儿童节公益课
- 情暖银龄,健康护航,畅通生活“幸福脉”
- 天天微资讯!今年油菜籽收购价格多少钱一斤?2022
- 中国数据首席地推官40人论坛成立 打造数据要素跨
- 2023年淮安大学生暑期实习岗位开始征集啦!_世界
- 天天时讯:仙霞路99号(仙霞路)
- 读书 | 爱与尊严,应该是一切文学的起点
- adsl密码查看工具怎么用(adsl查看器)_天天短讯
- 举止谈吐的意思解释(举止谈吐的意思)-环球时讯
- 快播:立高食品(300973.SZ)股东赵键拟减持不超1%股份
- 当前速递!浙大传媒学院国际企业家班来网盛大厦游
- 华为申请注册多个AITO商标,商标保护还是打造生态?
- 全球聚焦:win7虚拟光驱软件下载(win7能用的虚拟
- 20万个岗位促大学生就业|全球新资讯
- 看点:泰伦斯琼斯百米最好成绩(泰伦斯-琼斯)
- 每日简讯:开展存款保险宣传活动
- 珊瑚豆的修剪方法视频_珊瑚豆-世界热闻
- 人工智能不应成为读心工具
- 河北邯郸:农技农资一体化服务保小麦稳产增产
- 午评:两市震荡走跌 非汽车交运板块逆势大涨|每
产业
-
全国秋裤预警地图出炉 23省区市急需把秋裤等御寒衣物“解封”
2022-10-09
-
2022-07-07
-
2021-10-20
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
中新网通辽10月18日电 (记者 张林虎)18日,记者从内蒙古自治区通辽市奈曼旗公安局获悉,国家一级保护动物--梅花鹿误入当地村民羊群,
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中新网福州10月18日电 (记者 龙敏 王东明)福州市晋安区官方18日晚间通报,18日14时47分,晋安区岳峰镇化工路爱摩轮商业广场项目摩天
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西
-
中新网北京10月18日电 《清华城市健康设施指数》18日在北京发布。报告成果显示,城市健康设施指数领先城市以中心城市和东部沿海城市