プロファイルごとに別々のspring yaml構成ファイルがあります。Javaからスプリングプロファイル名を取得する方法
私はCommandLineRunner
子孫クラスからプロファイルを読み、適切なスクリプトを実行する必要があります。
Javaから環境プロファイル名を取得する方法はありますか?
environment.getActiveProfiles();
をそれだけで、空の文字列配列を返します。
私はこれを試してみました。
プロファイルごとに別々のspring yaml構成ファイルがあります。Javaからスプリングプロファイル名を取得する方法
私はCommandLineRunner
子孫クラスからプロファイルを読み、適切なスクリプトを実行する必要があります。
Javaから環境プロファイル名を取得する方法はありますか?
environment.getActiveProfiles();
をそれだけで、空の文字列配列を返します。
私はこれを試してみました。
environment.getProperty("spring.profiles.active")
を使用してアクティブなプロファイルを取得することもできます。私は私のローカルシステムではSystem.getPropertyが働いていたことを観察したが、私のドッキングウィンドウコンテナシステムにしているので、私はSystem.getenvとはSystem.getPropertyの両方を使用しています private static final String SPRING_PROFILES_ACTIVE = "SPRING_PROFILES_ACTIVE";
protected void setSpringProfile(ServletContext servletContext) {
if(null!= System.getenv(SPRING_PROFILES_ACTIVE)){
profile=System.getenv(SPRING_PROFILES_ACTIVE);
}else if(null!= System.getProperty(SPRING_PROFILES_ACTIVE)){
profile=System.getProperty(SPRING_PROFILES_ACTIVE);
}else{
profile="local";
}
log.info("***** Profile set ---> "+ profile);
}
この方法は私のために正常に動作します。 getenv()が機能しました。
また、何も設定されていない場合は、プロファイルを「ローカル」プロファイルにデフォルト設定しています。