spring-cloud-consul を使用して Consul と連携していますが、現在この問題が発生しています。consul で config/ConsulServer/my/username としてキーを作成し、値を「bob」にします。私のコントローラーでは、API 呼び出し "/foo" が行われると、この値を返します。初めて「スティーブ」に変更すると、値が更新され、「スティーブ」になります。ただし、2 回目以降は機能しません。値はまだ「スティーブ」です。私が間違っていたことについて誰か助けてもらえますか?私のコードは
@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
spring-cloud-starter-consul-all バージョン 2.1.0.RC3 を使用しています