私はスプリングブートアプリケーションでこの構成を持っています:
spring:
application:
name: my-app
profiles:
active: ${ENVIRONMENT}
cloud:
config:
uri: http://localhost:8888
私の構成サーバーは次のファイルを読み取ります。
my-app-dev.yaml
prop: dev property
my-app-pro.yaml
prop: pro property.
Spring Boot アプリ設定を起動-DENVIRONMENT=dev
し、dev 外部 Git プロパティを正しく読み込みます。
環境をコントローラーに注入すると、env.getActiveProfiles()
期待どおりに「dev」が得られます。
git 構成からさらにプロファイルを追加したいと思います。例えば:
my-app-dev.yaml
prop: dev property
spring:
active:
profiles: dev,business1
my-app-pro.yaml
prop: dev property
spring:
active:
profiles: pro,business2
したがって、env.getActiveProfiles()
が返されます["dev","business1"]
。ただし、返されるのはイニシャル"dev"
です。
これはどのように行うことができますか?
アップデート:
Dave Syer が提案したようspring.profiles.include
に、Git ファイルで使用してみましたが、新しいプロファイルは環境に追加されません。
my-app-dev.yaml
prop: dev property
spring:
profiles:
include: business1
my-app-pro.yaml
prop: dev property
spring:
profiles:
include: business2
environment.getActiveProfiles() ---> "dev"