【焦点热闻】使用 Spring Cloud Bus 在微服务之间传递消息示例
(资料图)
下面是一个完整的示例,演示如何使用 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
关键词:
相关阅读
-
04-21
-
04-21
-
04-21
推荐阅读
-
【焦点热闻】使用 Spring Cloud Bus 在微服务
下面是一个完整的示例,演示如何使用SpringCloudBus在微服务之间传递消息。该示例包含两个微服务,一个是消更多
2023-04-21 16:30:29
-
枸杞适合什么季节吃 枸杞哪时候食用比较好
1、枸杞一年四季都可以吃,其中春季最适合吃枸杞。2、春天,万物复苏,人体阳气渐渐升发。枸杞味甘平补,春更多
2023-04-21 15:25:02
-
新民快评|何必“杠”天气 快讯
凡有歧义的,尽量避用更多
2023-04-21 15:21:55
-
祝贺!工业互联网标识解析国家顶级节点(重庆)注册
4月19日,记者从两江新区获悉,工业互联网国家顶级节点(重庆)(下称:重庆顶级节点)取得突破性进展,累计标更多
2023-04-21 15:30:13
-
相约安徽·向春而行|纸鸢香草“双微”改造,为游
相约安徽·向春而行|纸鸢香草“双微”改造,为游客创造更好的旅游体验更多
2023-04-21 15:23:37
-
海康威视:面向智能安防场景训练了百亿级参数的大
4月19日电,海康威视在互动平台表示,为了支持大模型的研发,公司自建了业内一流的数据中心,面向智能安防更多
2023-04-21 13:51:51
-
花生长牙了到底还能不能吃(花生长牙子了能吃吗)
1、花生长芽是可以吃的。2、大多数人会认为发芽的花生和发芽的土豆一样,都会产生有毒的物质。实际上不是这更多
2023-04-21 13:44:47
时尚热图
-
今日必看
-
精彩话题
-
资讯播报
- 【焦点热闻】使用 Spring Cloud Bus 在微服务之间传递消息示例
- 今日天气实况
- CCBN2023丨思特奇以技术创新为指引 携手中国广电智启5G新时代大门
- 热议:全国首针接种完成!这一国产疫苗来了!“一针管10年”
- 储能业务在华建厂,特斯拉的新生意经_焦点日报
- 每日快看:满洲里市气象台发布大风黄色预警【III级/较重】
- 4D雷达火热、行泊一体成“标配”...上海车展释放了这些智能化讯号
- 天天简讯:同比增长10.5%,中国电信一季度归母净利79.84亿元
- 祝贺!工业互联网标识解析国家顶级节点(重庆)注册量突破200亿
- 2023上海车展 | 德科智控,拥抱智能转向新时代
- 枸杞适合什么季节吃 枸杞哪时候食用比较好
- 相约安徽·向春而行|纸鸢香草“双微”改造,为游客创造更好的旅游体验 世界观察
- 新民快评|何必“杠”天气 快讯
- 第1季度移动AP出货量报告:三星增长15%、联发科下降31%、紫光展锐暴跌74%
- 最资讯丨天邑股份2022年净利1.93亿同比增长7.05% 董事长李世宏薪酬101万
- 终极三国貂蝉
- 一季度完成投资超47亿元,三水全速推进省、市重点项目建设
- 中兴通讯携手中国移动以基于SR-MPLS的5G回传技术助推SPN创新发展
- 太平小学学子采茶知茶趣,传承茶文化-实时焦点
- 海康威视:面向智能安防场景训练了百亿级参数的大模型
- 即时看!售价10.89-13.99万元,2023款UNI-V正式上市
- 花生长牙了到底还能不能吃(花生长牙子了能吃吗) 精选
- 小鹏汽车:有人故意拿普通事故抹黑小鹏辅助驾驶|每日视点
- 贵州省地方金融监管局赴广东省开展产业招商活动|报道
- 定了!北京车展将于明年4月在京举办
- 美行科技加速拓展“朋友圈”,为智驾领域带来新增量
- 通讯!Lordstown收到退市警示函
- 中国联通率先完成中国信通院5G边缘算网一体机评测 每日看点
- 中国联通率先完成中国信通院5G边缘算网一体机评测
- 女孩升职被同事造黄谣陷抑郁后裸辞,各位有类似的遭遇吗?是如何应对的?
- 世界热文:锐财经丨农业农村经济开局良好
- 密的组词_它的组词_消息
- 四创电子(600990)新增【太赫兹】概念
- 两部门:剧本娱乐经营场所不得设置在住宅建筑内 每局结束后必须进行防火巡查_当前关注
- 吉林:一季度贷款增量创近8年同期最高水平-今日最新
- 世界快报:冷敷和热敷的区别图_冷敷和热敷的区别
- 赋能行业数智化 提供有温度有深度的服务,华为是如何做到的?
- 同义词翻译成英语_同义词翻译 焦点热门
- 一季度收益超30%!德邦半导体产业混合发起式凭什么成为最强“黑马”? 当前热文
- 天天观焦点:AK梦想超越赛首次落地云南
- 杭州新剑确认参展 | 上海车展盖世展团风采 环球新视野
- 福瑞泰克确认参展 | 上海车展盖世展团风采_环球快资讯
- 当前快讯:中聚泰确认参展 | 上海车展盖世展团风采
- 猪蹄汤如何做_具体怎么做
- 今日热讯:广东澳美确认参展 | 上海车展盖世展团风采
- 华为陶景文:同心协力,突破封锁,成功强渡大渡河
- 毕业感言怎么写_毕业感言具体写法
- 荣耀magic怎么双开5g?为什么荣耀magic支持5g?
- 华工科技:预计800G光模块出货量将在今年下半年快速增长_全球热文
- 环球信息:扬州电信引入AI系统推进光纤维护数字化
- 右胸口疼是怎么回事_左胸口隐隐作痛是怎么回事
- 中维世纪添加摄像头设置教程?中维世纪搜索不到摄像头?
- 捷温科技采用的机械切削工艺, 与传统的化学蚀刻相比,显著降低了二氧化碳排放-环球观点
- 【世界热闻】《自然》子刊发表中国科学家团队长寿科研成果
- 爱尔眼科:4月20日融资买入1.1亿元,融资融券余额15.63亿元_新消息
- 跨越万里之遥 四川南充医生西非救死扶伤
- 3月法国电动汽车销量创新高_今日聚焦
- 荣耀手机怎么录音功能找不到呢?荣耀手机可以量温度吗?
- 取消异地医保操作步骤?医保异地门诊可以报销么?
- 百闻不如一“件”|李白烈士家书走进上海师范大学康城实验学校
- 怎样查看自己手机号码的归属地?如何查询号码归属地?
- 为什么有国外的号码打电话过来?手机号码显示私人号码怎么回事?
- 聚焦女性安全 欧拉闪电猫成功通过TOP Safety碰撞挑战
- 安卓手机怎么恢复删除的照片?手机照片恢复最简单方法?
- 【热闻】谷爱凌都拉不动!神秘富豪的汤臣倍健,卖不动了?
- 【环球聚看点】五年
- 怎么变更绑定的手机?身份证绑定的手机号码怎么修改?
- 如何把天气添加到桌面?荣耀手机怎么调出桌面天气?
- 安卓手机怎么改定位?怎样能定位另一个手机?
- 5.5G发展进入新阶段:产商加速融合,5.5G走进现实
- 手机怎么滚动截长图?华为手机如何截长屏?
- 【环球新要闻】黄金尬住了?我看未必啊
- A股收评:创业板指跌1.2%,光伏、旅游等板块持续下挫,传媒、ChatGPT概念股再度爆发_环球微动态
- 如何添加蜂窝移动号码?手机蜂窝移动怎么打开?
- 世界速讯:赵睿:感谢深圳跟我们打了2场热身赛 季后赛输1场可能就被淘汰
- 【国际快讯】特斯拉市值蒸发超500亿美元;马斯克暗示会继续降价;特斯拉一季度营收增长24%
- FORVIA佛瑞亚集团在中国推出迈极瑞,开发并生产可持续材料
- 手机上文件压缩怎么操作?苹果手机压缩照片最简单的方法?
- 麦格纳庆祝梅赛德斯G级车50万台产量里程碑 观速讯
- 武汉唯一!光谷生物安全主题教育馆揭牌|环球看点
- 怎么看苹果手机后台程序?苹果手机如何查看后台打开的应用?
- 天天亮点!大陆芯智驾智能前视摄像头一体机已搭载于深蓝汽车首款电动车
- 2021年车辆购置税优惠政策_2021年购置税优惠政策车型|每日热门
- 苹果手机录屏能录多久?华为手机录屏设置在哪?
- 小米耳机蓝牙配对找不到?小米耳机弹窗怎么设置?
- 手机蓝牙为何自动打开?怎样关闭自动打开蓝牙?
- 智能手表走到十字路口,是退潮还是新开始?-环球即时
- play商店闪退怎么解决?play商店是什么意思?
- 红米蓝牙怎么删除不常用设备?红米k50连上了蓝牙但是没声音?
- 经济法与民法的区别?_经济法与民法的区别是什么
- 环球热议:成都银行:4月20日融资买入2072.93万元,融资融券余额6.82亿元
- 每日点评 | 雷军突袭上海车展,哪个品牌最吸引他? 世界新动态
- 吉利和领克锚定"橄榄型"新能源市场的中段
- 今日热门!龙湖金地重回牌桌
- 环球短讯!20万内落地!电动化让跑车成为平民消费品
- 惊涛拍岸,卷起“新三化”丨新·秩序
- “龙鳞甲电池”显真身,蜂巢能源应对价格战的底气有了|环球报资讯
- 4只股获北向资金连续净卖出_环球观焦点
- 科大讯飞2022年营收188亿元 同比增长2.77%
- “南张北齐——张大千齐白石书画艺术特展”延期至5月7日