Spring Cloud Bus在服务之间发送和接收消息示例 全球热头条
下面是一个使用 Spring Cloud Bus 和 RabbitMQ 的完整示例。在此示例中,我们将创建两个服务:Config Service 和 Client Service。Config Service 负责存储应用程序的配置文件,Client Service 则使用这些配置文件来配置自身。
(资料图)
配置 Config Service
在 Config Service 中,我们需要将配置文件存储在 Git 存储库中,并启用 Spring Cloud Bus 和 RabbitMQ 支持。
首先,可以在 application.yml 文件中添加以下配置:
spring: cloud: config: server: git: uri: https://github.com/your-git-repo/config-repo.git bus: enabled: true trace: enabled: true rabbit: enabled: true
在这个示例中,我们将 Config Service 配置为从 GitHub 存储库中加载应用程序的配置文件接下来,需要在 Config Service 中添加一个 REST 控制器,该控制器可以将 Spring Cloud Bus 消息发送到 RabbitMQ。可以使用以下代码来实现:
@RestControllerpublic class ConfigController { private final BusRefreshListener busRefreshListener; @Autowired public ConfigController(BusRefreshListener busRefreshListener) { this.busRefreshListener = busRefreshListener; } @PostMapping("/refresh") public void refresh() { busRefreshListener.refresh(); }}
在这个示例中,我们创建了一个 REST 控制器,该控制器将在 /refresh 路径上监听 POST 请求。当接收到该请求时,控制器将调用 BusRefreshListener bean 的 refresh() 方法,该方法将向 Spring Cloud Bus 发送一个刷新消息。
最后,我们需要在 Config Service 中添加一个 BusRefreshListener bean,该 bean 将在收到 Spring Cloud Bus 消息时触发配置文件的重新加载。可以使用以下代码来实现:
@Componentpublic class BusRefreshListener implements ApplicationListener { private final ConfigurableApplicationContext context; @Autowired public BusRefreshListener(ConfigurableApplicationContext context) { this.context = context; } @Override public void onApplicationEvent(RefreshRemoteApplicationEvent event) { context.refresh(); } public void refresh() { context.publishEvent(new RefreshRemoteApplicationEvent(this, "", "")); }}
在这个示例中,我们创建了一个 BusRefreshListener bean,该 bean 实现了 ApplicationListener 接口,并在收到 RefreshRemoteApplicationEvent 事件时触发了应用程序上下文的刷新。我们还添加了一个 refresh() 方法,该方法将创建一个新的 RefreshRemoteApplicationEvent 事件,并将其发布到应用程序上下文中。
配置 Client Service
在 Client Service 中,我们需要添加一个依赖于 Config Service 的组件,并在收到 Spring Cloud Bus 消息时重新加载配置文件。
可以在 application.yml 文件中添加以下配置:
spring: cloud: config: uri: http://localhost:8888 name: client-service bus: enabled: true trace: enabled: true rabbit: enabled: true
在这个示例中,我们将 Client Service 配置为使用 Config Service 中存储的配置文件。我们还启用了 Spring Cloud Bus 和 RabbitMQ 支持。
最后,我们需要在 Client Service 中添加一个 RefreshScope bean,该 bean 将在收到 Spring Cloud Bus 消息时重新加载应用程序的配置文件。可以使用以下代码来实现:
@Component@RefreshScopepublic class ConfigComponent { @Value("${message:Hello World!}") private String message; public String getMessage() { return message; }}
在这个示例中,我们创建了一个 ConfigComponent bean,该 bean 带有一个 @RefreshScope 注解,以便它可以在收到 Spring Cloud Bus 消息时重新加载。我们还将一个名为 message 的属性注入到该 bean 中,并在 getMessage() 方法中返回该属性的值。
标签:
Spring Cloud Bus在服务之间发送和接收消息示例 全球热头条
2023-04-16
广交会“会展经济”效应激活全城商旅 多地成为热门民宿预订商圈_环球报道
2023-04-16
通成信息数字能力建设初见成效|每日热闻
2023-04-16
一手户型图深扒!海珠首座“西派”,能冲10万吗?
2023-04-16
天天快报!争奇斗艳的意思三年级下册花钟_争奇斗艳的意思
2023-04-16
多名学生被曝取快递后申请仅退款 薅羊毛也不能无底线!!-世界快讯
2023-04-16
非洲人屠榜中国马拉松!逆天改命,赢一场胜过老家打工40年|全球讯息
2023-04-16
东北人怎么样性格特点-东北人怎么样
2023-04-16
全球动态:前列腺是什么器官图片_前列腺是什么
2023-04-16
赛尔号怀旧服精灵胶囊在哪买_赛尔号精灵胶囊在哪买
2023-04-15
广交会“会展经济”效应激活全城商旅 多地成为热门民宿预订商圈_环球报道
通成信息数字能力建设初见成效|每日热闻
一手户型图深扒!海珠首座“西派”,能冲10万吗?
天天快报!争奇斗艳的意思三年级下册花钟_争奇斗艳的意思
多名学生被曝取快递后申请仅退款 薅羊毛也不能无底线!!-世界快讯
非洲人屠榜中国马拉松!逆天改命,赢一场胜过老家打工40年|全球讯息
东北人怎么样性格特点-东北人怎么样
全球动态:前列腺是什么器官图片_前列腺是什么
赛尔号怀旧服精灵胶囊在哪买_赛尔号精灵胶囊在哪买
环球最资讯丨高蛋白质食物包括哪些_高蛋白质食品有哪些
全球实时:ipad air5有耳机孔吗(ipadair有耳机孔么)
当前关注:跳水世界杯女子3米板陈艺文夺金昌雅妮摘银
《惊奇队长2》发预告,张艺谋首拍网剧《英雄联盟》_天天亮点
瑞拉医疗美容 瑞拉 天天热推荐
120-95!唐斯28+11,戈贝尔21分10板,森林狼大胜雷霆跻身季后赛 全球热点评
黄晓明公开认爱,揭开离婚原因:对不起,我们相爱了整整14年!|世界速讯
环球百事通!CBA季后赛上海久事队与苏州肯帝亚队比赛引发媒体、球迷强烈质疑,中国篮协、CBA联赛相继回应
全球即时:最高23℃+劲风蓝色预警!河北最新气候、限行提示、高速路况请查收→,具体原因如何呢?
韩雪家庭背景图_韩雪家庭背景太恐怖-环球观察
2023厦门第二十一届市运会参赛对象 焦点资讯
本周末湖南大部“拥抱”阳光!_当前热门
每日信息:《王者荣耀》“东方来客”版本 4 月 15 日更新,姬小满上线
首旅酒店:一季度净利润预计6000万元-8000万元 同比扭亏为盈_环球最资讯
此站点不安全怎么取消_此站点不安全怎么解决
权威发布丨让淄博制造走向世界!淄博国际会客厅链接全球资源
环球热消息:微信用不了怎么回事(wifi微信用不了怎么回事)
中国水泥网创始人、董事长邵俊一行到访华润水泥东南大区_环球观速讯
星网锐捷:母公司得到子公司分红,净利润无影响
一案未平一案又起!特朗普因财务欺诈案接受质询 今日聚焦
- 国家邮政局:3月中国快递发展指数为307.7 同比提升22.5% 每日报道
- 广东广州:文化旅游跑出高质量发展“加速度”
- 热点!国家林草局:今春森林草原防火形势严峻复杂 压力高于往年
- 我变成伪娘怎么想都是老哥的错_我从伪娘到变性-世界速看
- 华强北的手表,汤主的测评来了!
- 什么是企业组织形式_什么是企业组织
- 重点聚焦!人行西宁中支抓好“三项机制”有效解决人民币流通难点
- 2023年4月13日湖南省正丁醇价格最新行情预测
- 淄博烧烤音乐节、大理情歌汇……网红城市“五一礼包”很诱人 全球消息
- 建邦科技2022年营收4.23亿元:加大对特斯拉MODEL3等汽车电子产品研发投入|环球快资讯
- 世界热头条丨南昌白斑哪个医院治疗得好
- 当“炼金术师”遇到绿色计算机的“PCB主板”
- 安卓14新特性:引入新后退箭头和透明导航栏选项
- 观焦点:中国移动:公司内部在运维和客服方面已经广泛应用AI
- 世界时讯:青春叙事需摆脱对“青春景观”的堆砌
- “广”纳百川,“州”济天下!这样的广州爱了爱了
- 热门:长安期货4月13日原油报告:美3月CPI超预期回落提振油价,汽油连续回涨或限制油价涨幅
- 焦点热讯:沙尘暴又来了,植树造林不管用吗?
- 权威部门话开局丨能源行业高质量发展怎么干?看国家能源局划重点
- 火影忍者究极风暴3按键对应电脑_火影忍者究极风暴3按键
- 31省份3月CPI出炉:四川涨幅独升 吉林收窄至0
- 纵横航旅“碰瓷”航旅纵横被罚;葵花药业安胃片等药品不合格 天天最资讯
- 锡林郭勒盟财政局、卫生健康委员会联合举办全盟医疗收费电子票据操作业务培训
- 环球视点!连续四年领千万元罚单,不良贷款约650亿元,中信银行内控不稳?
- 酸辣土豆丝的做法 家常_酸辣土豆丝的做法最正宗的做法_全球热资讯
- 永川开展国家安全教育讲座 守护校园安全
- 外媒:外商加码对华投资淹没了“脱钩”言论
- 2023厦门国际会展周将于4月14日至17日举办 大咖将聚厦
- 可以应急周转的网上小额贷款有哪些?这10款正规靠谱且高额低息
- 巴西农牧业部部长:凭借兄弟伙伴关系 我们将共同克服疫情后的艰难时期-每日简讯
- 中欧班列承运货物越来越丰富
- 全球今热点:铭凡PB7迷你主机发布 搭载酷睿i7-13700H处理器
- 安居宝(300155)4月12日主力资金净买入147.90万元 环球要闻
- 【独家】武汉协和医院质子医学中心进入调试阶段,每年可服务超千名患者
- 贾乃亮抢“鲜”实地探访消博会,化身“行走的种草机”_全球新视野
- 每日简讯:23张投G2今日发布发行公告
- 美媒:美国绝密文件泄露源头或在五角大楼之外_天天简讯
- 当前时讯:河南焦作山阳:支持起诉+释法说理让侯大妈老有所养
- 《逆战》海神三叉戟背包有什么用?海神三叉戟技能效果介绍
- 沙尘暴预警继续发布!北京河南上海等17省区市将有扬沙或浮尘
- 班主任日常防疫工作计划(推荐10篇)
- 河北开展2023年度特种设备证后监督检查 热点在线
- 童年缤纷画画好玩吗 童年缤纷画画玩法简介|世界新消息
- 金十期货整理丨IMF报告重点提炼1.世界经济在2023年可能会出现软着陆的迹象在消退,通货膨胀率高企和金融业动荡是主要原因 天天速递
- 思特威:在机器视觉应用领域的销售收入同比大幅下降,且占总体收入的比重较小
- 当日快讯:雄韬股份:锂电业务收入增长,一季度归母净利同比预增113.44%198.82%
- 世界焦点!湖北推进工业互联网一体化进园区
- 罐头产品立功,欢乐家2022年营收近16亿元
- 争光股份:公司目前暂无并购计划,暂无与南孚电池进行合作的计划_当前短讯
- 迪士尼输了,《超级马力欧兄弟》将打破《冰雪奇缘2》票房纪录 天天热资讯