一、前置条件:
1.Spring Boot 2.X
2.安装rabbitmq
二、configServer 改造:
1.新增依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
2.application.properties 新增如下配置:
spring.rabbitmq.host.host=localhost
spring.rabbitmq.host.port=5672
spring.rabbitmq.host.username=username
spring.rabbitmq.host.password=password
management.endpoints.web.exposure.include=bus-refresh
三、configClient 改造:
1.新增依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
2.application.properties 新增如下配置:
spring.rabbitmq.host.host=localhost
spring.rabbitmq.host.port=5672
spring.rabbitmq.host.username=username
spring.rabbitmq.host.password=password
management.endpoints.web.exposure.include=bus-refresh
四:测试
@RestController
@RefreshScope
public class HelloController {
@Value("${sang}")
private String sang;
@RequestMapping("/hello1")
public String getHello(){
return this.sang;
}
}
注*:
1.Spring boot 2.0的改动较大,/bus/refresh全部整合到actuador里面了,所以之前1.x的management.security.enabled全部失效,不适用于2.0
2.需要在配置的页面加上,就是说附带@Value的页面加上 @RefreshScope 注解
3.请求刷新的页面
由原来1.5.x的localhost:configServerPort/bus/refresh
变成:http://localhost:configServerPort/actuator/bus-refresh