@RefreshScope не работает. Свойства не обновляются после второй модификации в Консуле
Я работаю с Консулом с помощью Spring-Cloud-Консул и в настоящее время у меня есть эта проблема. Я создаю ключ в консуле как config/ConsulServer/my/username со значением как "bob". В моем контроллере я возвращаю это значение, если сделан вызов API "/foo". Когда я изменил его в первый раз, чтобы "Стив" значение обновляется, и я получаю "Стив". Тем не менее, это не работает во второй раз. Значение по-прежнему "Стив". Может ли кто-нибудь помочь, пожалуйста, о том, что я сделал не так? Мои коды
@SpringBootApplication
@EnableDiscoveryClient
public class ConsulServer {
public static void main(String[] args) {
SpringApplication.run(ConsulServer.class, args);
}
}
@Component
@RefreshScope
@ConfigurationProperties("my")
public class SampleProperties {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username= username;
}
}
@RestController
public class ConsulController {
@Autowired
private SampleProperties consulConfig;
@GetMapping("/foo")
public String prop() {
return this.consulConfig.getUsername();
}
}
Мой bootstrap.yml есть
spring:
application:
name: ConsulServer
cloud:
consul:
host: localhost
port: 8500
config:
enabled: true
fail-fast: true
watch:
enabled: true
discovery:
register: true
Мое application.yml
spring:
application:
name: ConsulServer
Я использую версию 2.1.0.RC3 spring-cloud-starter-consul-all