【问题标题】:How to change default spring profil ("cloud") in cloud foundry如何在 Cloud Foundry 中更改默认弹簧配置文件(“云”)
【发布时间】:2019-11-06 07:41:26
【问题描述】:

我想在 cf push 使用名为 my_profile 的自定义配置文件之后启动我的 spring-boot 应用程序,但该应用程序始终使用默认的 cloud 配置文件启动。如何指定要加载的确切配置文件?

我已经尝试像这样在 manifest.yml 中添加环境变量:

env:
      SPRING_PROFILES_ACTIVE: my_profile 

但是应用程序加载了两个配置文件(cloudmy_profile

您有解决方案来加载我的自定义配置文件而不集成默认配置文件吗?

【问题讨论】:

    标签: java spring-boot cloud-foundry spring-profiles


    【解决方案1】:

    这来自 Java buildpack 和 Spring Auto-reconifguration 支持。

    Spring 自动重新配置框架将云配置文件添加到任何现有的 Spring 配置文件中,例如在 SPRING_PROFILES_ACTIVE 环境变量中定义的那些。

    https://github.com/cloudfoundry/java-buildpack/blob/master/docs/framework-spring_auto_reconfiguration.md

    要禁用此行为,您可以禁用 Spring 自动重新配置支持。

    将环境变量JBP_CONFIG_SPRING_AUTO_RECONFIGURATION 设置为{ enabled: false }

    例如:

    cf set-env my-cool-app JBP_CONFIG_SPRING_AUTO_RECONFIGURATION '{ enabled: false }'
    

    请注意,这也会禁用 cloud.* 属性和自动重写 bean 来配置服务。

    https://github.com/cloudfoundry/java-buildpack-auto-reconfiguration#what-is-auto-reconfiguration

    【讨论】:

    【解决方案2】:

    您也可以在 manifest.yaml 中添加如下:

    env:
      SPRING_PROFILES_ACTIVE: my_profile
      JBP_CONFIG_SPRING_AUTO_RECONFIGURATION: '{ enabled: false }'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 2019-10-03
      • 2016-03-21
      • 1970-01-01
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多