4

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 を使用しています

4

0 に答える 0