分布式03SpringCloudCofig客户端主动刷新三
https://my.oschina.net/u/4039389/blog/3217362
https://my.oschina.net/u/4039389/blog/3217468
1.客户端gradle引入包
compile "org.springframework.boot:spring-boot-starter-actuator"compile "org.springframework.cloud:spring-cloud-starter-bus-amqp"
2.客户端 application.properties
management.endpoints.web.exposure.include=* #actuator允许访问的链接
#rabbitmq配置=================单机刷新可以不用配置
spring.rabbitmq.host=xxx.xxxx.xxx.xx
spring.rabbitmq.port=5672
spring.rabbitmq.prod.port=5674
spring.rabbitmq.username=xxx
spring.rabbitmq.password=xxxx
spring.rabbitmq.virtual-host=/
spring.rabbitmq.publisher-confirms=true
3.添加Controller
再类注解@RefreshScope
添加方法打印配置文件中的tmp.file.path
我们当前git库的文件值是C:/home/test1/
启动客户端,可以启动多个我们这次用2个客户端做为测试,端口分别是12000,12001
发布请求 http://localhost:12000/public/tmpPath , http://localhost:12001/public/tmpPath
可以发现返回的都是 C:/home/test1/
4.修改数据
修改数据C:/home/test/并且提交git库
请求 http://localhost:12000/actuator/refresh 进行单机刷新,接口返回发生变动的参数
访问 http://localhost:12000/public/tmpPath 发现 C:/home/test1/ 已经变成 C:/home/test/
访问 http://localhost:12001/public/tmpPath 发现依旧还是 C:/home/test1/
如果是集群的情况些修改了参数要一个个去刷新有可能漏刷也增加了工作量。
这时我们使用 Spring Cloud bus 帮助我们同一刷新就很方便了。请求 http://localhost:12000/actuator/bus-refresh
这时候我们看 http://localhost:12001/public/tmpPath ,发现 C:/home/test1/ 也已经变成 C:/home/test/
这样就能通过刷新一台客户端从而刷新全部 客户端了。
以上是 分布式03SpringCloudCofig客户端主动刷新三 的全部内容, 来源链接: utcz.com/z/515020.html