分布式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/tmpPathhttp://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

回到顶部