消息总线SpringCloudBus

在不重启微服务的情况
下更新配置如何来实现呢? 我们使用SpringCloudBus来实现配置的自动更新。
 
引入依赖 
<dependency> 
   <groupId>org.springframework.cloud</groupId> 
   <artifactId>spring‐cloud‐bus</artifactId> 
</dependency> 
<dependency> 
   <groupId>org.springframework.cloud</groupId> 
   <artifactId>spring‐cloud‐stream‐binder‐rabbit</artifactId> 
</dependency>

配置文件 

   rabbitmq: 
       host: 127.0.0.1 
management: #暴露触发消息总线的地址 
     endpoints:
         web:
             exposure: 
                 include: bus‐refresh

客户端  

 引入依赖 

<dependency>
   <groupId>org.springframework.cloud</groupId> 
<artifactId>spring‐cloud‐bus</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐stream‐binder‐rabbit</artifactId>
</dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter‐actuator</artifactId>
</dependency>

配置文件中配置rabbitmq

rabbitmq:
    host: 127.0.0.1

测试 

Url: http://127.0.0.1:8888/actuator/bus-refresh Method: post
 
自定义配置文件的读取  
@RefreshScope     //注解@RefreshScope 此注解用于刷新配置
@RestController
public class TestController {
@Value("${sms.ip}") 
private String ip; 
@RequestMapping(value = "/ip", method = RequestMethod.GET) 
public String ip() {
return ip;
}
}
原文地址:https://www.cnblogs.com/qin1993/p/12573321.html