客户端进行刷新操作。
1、添加 actuator包,这样 /refresh url才处于可用状态。
1
2
3
4
|
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
|
2、手动测试时,关闭权限认证,否则访问时会出现无权限。
1
2
3
|
management:
security:
enabled:
false
|
3、在controller上添加@RefreshScope注解,添加@RefreshScope类会在配置更改时特殊的处理。
是否可用在 其他用到配置的的类上 未测试。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package
com.thunisoft.thunisoftmicroservicetestconfig.controller;
import
org.springframework.beans.factory.annotation.Value;
import
org.springframework.cloud.context.config.annotation.RefreshScope;
import
org.springframework.web.bind.annotation.GetMapping;
import
org.springframework.web.bind.annotation.RestController;
@RefreshScope
@RestController
public
class
DisplayConfigController {
@Value
(
"${profile}"
)
private
String profile;
@GetMapping
(
"/"
)
public
String showConfig() {
return
this
.profile;
}
}
|
4、刷新配置
1
2
3
|
D:\curl\AMD64>curl -X POST http:
//localhost:7989/refresh
[
"config.client.version"
,
"profile"
]
D:\curl\AMD64>
|
之后配置会更新为最新值。