消息总线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;
}
}

 

 

 

相关文章