1、Config-server
Pom中引入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Yml配置文件中:
management: #springboot2.0以后改用这种方式放行端点
endpoints:
web:
exposure:
include: "bus-refresh" #暴露端点
2、Client中:
Pom引入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
并且在@value注解的类上面,添加 @RefreshScope注解
补充:Client中不需要引入actuator 这个依赖也可以刷新,老版本需要引入这个依赖
3、post请求 config-server的/actuator/bus-refresh端点就行了
注意:(路径如果使用search-locations: classpath:/properties/ ,会导致不能刷新,需要使用项目外的路径)
4、如果使用springsecurity保护config的话,还需要配置放行路径
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic().and()
.authorizeRequests()
.antMatchers("/actuator")//"/oauth/**"
.permitAll()
.anyRequest()
.authenticated()
.and().csrf().disable();
}
}
Yml中添加
security:
user: #设置用户名密码保护配置信息 如果使用这个还需要对springcloudbus进行端点放行
password: 123456
name: safebox
并在对应微服务中配置这个用户名密码