
spring cloud config入门,动态更新配置,spring cloud bus amqp刷新配置
请求端会以
配置刷新成功,更新配置成功。
发布日期:2021-05-07 13:21:55
浏览次数:23
分类:精选文章
本文共 4808 字,大约阅读时间需要 16 分钟。
前面介绍了spring cloud config 基于本地配置文件,git,mysql的配置开发示例,但是存在一个问题,如果我们要更新配置,按照之前的处理,则需要修改完配置之后重启配置,这样不适合生产环境,为此,spring cloud提供了基于spring cloud bus的机制来实现配置更改后的动态通知和刷新。下面进行这块的入门尝试, 以spring cloud config git为例说明
建立config-server-git,大体与之前相同,但是增加了spring cloud bus相关依赖:
spring-cloud-test-001 com.leo.test 1.0.0-snapshot 4.0.0 config-consumer-001 org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-config org.springframework.cloud spring-cloud-starter-bus-amqp org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-maven-plugin
其中主要改变在于引入了spring cloud bus amqp依赖,以及spring cloud actuator暴露对外刷新接口。
编写配置application.yml
: spring: rabbitmq: host: xxxx port: 5672 profiles: active: remote cloud: config: server: git: uri: https://github.com/hanxueming126/open-config-source search-paths: config username:xxx password: xxxx default-label: develop force-pull: true #本地与git有冲突时,强制拉取覆盖本地 application: name: config-server-gitserver: port: 9060management: endpoints: web: exposure: include: "*" #需要开放才能通过接口请求刷新#debug: true
建立启动类:
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication@EnableConfigServerpublic class ConfigServerGitApplication { // 需要 post请求 /actuator/bus-refresh才能刷新, 返回 204响应 public static void main(String[] args) { SpringApplication.run(ConfigServerGitApplication.class); }}
这样spring cloud cofnig git 服务端搭建完毕
搭建spring cloud config客户端,pom依赖如下:
spring-cloud-test-001 com.leo.test 1.0.0-snapshot 4.0.0 config-consumer-001 org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-config org.springframework.cloud spring-cloud-starter-bus-amqp org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-maven-plugin
模块配置文件:bootstrap.xml
spring: application: name: config-consumer-001 cloud: config: uri: http://localhost:9060 fail-fast: true profiles: active: dev rabbitmq: host: 10.201.83.207 port: 5672management: endpoints: web: exposure: include: '*'#debug: true
编写启动类:
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class ConfigConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConfigConsumerApplication.class); }}
编写controller:
import org.springframework.beans.factory.annotation.Value;import org.springframework.cloud.context.config.annotation.RefreshScope;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/config/consumer")@RefreshScopepublic class ConsumerController { @Value("${hello}") private String hello; @RequestMapping("/test") public String testConfig(){ return String.format("hello is %s ",hello); }}
开始时,git上config/下配置如下:

applicationName
-profile
来获取对应配置。 启动config-server和confi-consumer 访问: http://localhost:9080/config/consumer/test 
更改git上配置如下:

我这里没有配置webhook,所以手动刷新config-server来刷新配置信息:

post请求config-server端: http://localhost:9060//actuator/bus-refresh
再次重新访问:http://localhost:9080/config/consumer/test 显示如下:
如果测试需要rabbitmq,安装可参考
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年03月31日 03时02分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[UWP]从头开始创建并发布一个番茄钟
2021-05-09
在 Azure 上执行一些简单的 python 工作
2021-05-09
WinUI 3 Preview 3 发布了,再一次试试它的性能
2021-05-09
使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)
2021-05-09
List数组排序
2021-05-09
VMware vSphere 离线虚拟机安装 BIND 9
2021-05-09
说说第一份工作
2021-05-09
dojo/request模块整体架构解析
2021-05-09
dojo/aspect源码解析
2021-05-09
Web性能优化:What? Why? How?
2021-05-09
Javascript定时器学习笔记
2021-05-09
dojo的发展历史
2021-05-09
Python存储系统(Redis)
2021-05-09
C语言指针收藏
2021-05-09
.net 4种单例模式
2021-05-09
T4 生成数据库实体类
2021-05-09
C#搞个跨平台的桌面NES游戏模拟器
2021-05-09
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
2021-05-09
《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
2021-05-09
互联网App应用程序测试流程及测试总结
2021-05-09