我正在使用spring-cloud-consul与Consul合作,目前遇到此问题。我在领事中创建一个密钥,名称为config / ConsulServer / my / username,值为“ bob”。在我的控制器中,如果进行API调用“ / foo”,则返回此值。当我第一次将其修改为“ steve”时,值将更新,并且我得到“ steve”。但是,它第二次不起作用。该值仍为“ steve”。有人可以帮我做错什么吗?我的密码是
@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