2

以下是我的 bootstrap.yml 配置:

spring:
  application:
    name: myService
  cloud:
    consul:
      config:
        enabled: true
        prefix: config
        profileSeparator: '@@'
        watch:
          wait-time: 10
          delay: 10000
          enabled: true

当我在 Consul 中更新给定键的值时,我最终能够看到 RefreshEvent 已被我的服务接收并处理,但它似乎需要固定的时间,而不是像我想的那样在 10 秒内应该给出我的配置。有没有人有使用 ConfigWatch 的经验,如果有,你如何配置它,让它每 X 秒接收一次更改?

顺便说一句,我们使用的是 Spring Cloud Camden.SR5。

4

1 回答 1

0

好的,对于那些跑过这篇文章的人,我通过更多的测试发现延迟是由于在 ConfigWatch.watchConfigKeyValues() 中花费的时间。我现在不确定为什么这个方法需要很长时间才能执行,但确实如此。我使用的配置值不是在我的服务中更新 Consul 配置更改的问题 - 这是导致延迟的 watchConfigKeyValues() 花费的时间量。

于 2017-03-06T14:58:52.733 回答