@RefreshScope无法正常工作。在Consul中第二次修改属性后不会更新

时间:2019-01-03 12:59:13

标签: spring-boot consul spring-cloud-consul

我正在使用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

0 个答案:

没有答案