微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法将“eureka.client.enabled”下的属性绑定到布尔值

如何解决无法将“eureka.client.enabled”下的属性绑定到布尔值

为什么新的 spring-cloud-config 如此复杂?

我想执行以下操作:认启用 eureka 并将其添加到某些配置文件中(并非全部)。
无论我用哪种方式尝试,它都不起作用。
我收到此错误 Failed to bind properties under 'eureka.client.enabled' to boolean

第一种方式:

server:
  port: 8080

eureka:
  client:
    enabled: false # default disabled
  instance:
    leaserenewalIntervalInSeconds: 10
    prefer-ip-address: false
    hostname: 127.0.0.1

spring:
  application:
    name: app
  main:
    banner-mode: off
  cloud:
    config:
      enabled: false
      discovery:
        enabled: true
        service-id: config-server
      fail-fast: true
      retry:
        max-attempts: 5

application:
  value: app-default

---

spring:
  config:
    activate:
      on-profile: dev

application:
  value: app-dev

---

spring:
  config:
    activate:
      on-profile: qa
    import: "configserver:"
  cloud:
    config:
      enabled: true

eureka:
  client:
    enabled: true # enable it in profile "qa"
    serviceUrl:
      defaultZone: http://127.0.0.1:8761/eureka/

application:
  value: app-qa

第二种方式:

server:
  port: 8080

eureka:
  client:
    enabled: true # default enabled
  instance:
    leaserenewalIntervalInSeconds: 10
    prefer-ip-address: false
    hostname: 127.0.0.1

spring:
  application:
    name: app
  main:
    banner-mode: off
  cloud:
    config:
      enabled: false
      discovery:
        enabled: true
        service-id: config-server
      fail-fast: true
      retry:
        max-attempts: 5

application:
  value: app-default

---

spring:
  config:
    activate:
      on-profile: dev

eureka:
  client:
    enabled: false # disable in profile "dev"

application:
  value: app-dev

---

spring:
  config:
    activate:
      on-profile: qa
    import: "configserver:"
  cloud:
    config:
      enabled: true

eureka:
  client:
    serviceUrl:
      defaultZone: http://127.0.0.1:8761/eureka/ # I also need a profile specific url

application:
  value: app-qa

如果我激活 eureka 一次并且不再使用 eureka.client.enabled,那么会出现 url 错误Failed to bind properties under 'eureka.client.serviceUrl. defaultZone' to String - 但无论如何我都需要这个配置文件特定的 url!

所有这些都与新的 spring-cloud-config 有关。因为在我删除 config-server 的所有行并注释掉 spring-cloud-starter-config 依赖项后,eureka 的两个变体都有效!
还是根据这 spring-cloud-config 内容我有错误

版本:

    <spring-boot.version>2.5.2</spring-boot.version>
    <spring-cloud.version>2020.0.3</spring-cloud.version>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。