Spring Config 配置中心和Spring Bus配合使用的一些坑

2023-05-16

个人觉得bus这个东西这是坑多 折腾好一会 ( 使用actuator/bus-refresh 而不用bus/refresh)

 首先Config 和 Client 项目都添加如下配置


  
management.endpoints.enabled-by-default=true
management.endpoints.sensitive=false
management.endpoints.enabled=true

management.endpoint.configprops.enabled=true
management.endpoint.beans.enabled=true
management.endpoint.shutdown.enabled=true

management.endpoints.web.exposure.include=*
   <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>


1。网上到处都在说post - bus/refresh来刷新,但是现在SpringBoot之后 根本就是不存在这个路径,查看项目启动可以看到搜索日志关键字:Mapping


所以 他们所说的 bus/refresh 到底是哪里来的?谁来告诉老夫一下!!!明明就是actuator/bus-refresh

2.修改git上面的配置参数 


3.用postMan请求 做刷新  不要有head信息 请求形式用 raw

根本没有任何数据返回!!! 尼玛 我看别人的日志都有数据返回!这又是什么情况? 但是 post出去之后 我们是可以看到 Client项目的日志有在刷新 重新从Config项目重新拉去数据



4.只会刷新被@RefreshScope修饰的地方

网络上的文章写那么多,我测试发现只有Bean有@RefreshScope注解的地方才会被刷新到,所谓的bus自动刷新配置是我理解错了还是本来就是这么有局限性?我有个大胆的想法 我把CLient项目的 server.port也放在git管理,但是发现他根本不起效果,只能说他是帮我们刷新的配置缓存文件 没有帮我们起到热更新的左右呀,我们还是要手动重启Client才能把服务端口改过来。

 

样例:




1修改git

2.actuator/bus-refresh

3.原本是8101的端口 修改成8102 但是结果:



总的来说 集成bus 感觉有点吭 没有我想象的那么强大 哈

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Config 配置中心和Spring Bus配合使用的一些坑 的相关文章

随机推荐