服务端
- 添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
- yaml配置
...
spring:
...
cloud:
config:
server:
git:
uri: https://gitee.com/sjm_mine/demo-config-server.git
username: sijianmeng@163.com
password: xiaosi1990
search-paths:
# 搜索目录
- demo-config-server
label: master # 从master分支上读取
...
- 启动类添加注解
@EnableConfigServer
客户端
- 添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
- application.yml 改为bootstrap.yml
...
spring:
...
cloud:
config:
label: master
name: config # 配置文件名
profile: dev # profile
uri:
- http://localhost:9300 # 配置中心地址
...
这里有个问题, 修改gitlab上的配置文件, 都要重新启动配置中心才行
客户端实现动态刷新
- 添加actuator依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
- yaml配置文件中追加以下配置, 暴露监控端口
...
# 暴露监控接口
management:
endpoints:
web:
exposure:
include: "*"
- controller业务类上添加注解
@RefreshScope
- 运维刷客户端
curl -X POST “http://localhost:9110/actuator/refresh”
后面可以通过bus消息总线通知刷新