0

私は現在、次の Spring プロファイル構成がアプリケーション コンテキストで指定されているレガシー コードベースを維持しています。

spring.profiles.active=addressbook-[usermanager|webservices],entrypoint-[form|saml]

問題は、この例で指定されている をどのように読み取るかspring.profiles.activeです。

ここに 4 つの可能なプロファイル定義があると考えるのは正しいですか? すなわち:

addressbook-usermanager, entrypoint-form
addressbook-webservices, entrypoint-form
addressbook-usermanager, entrypoint-saml
addressbook-webservices, entrypoint-saml

ロギングをオンにして、どのプロファイルが選択され、どの Bean が特定のプロファイルにロードされるかを確認する方法はありますか? そうでない場合、なぜロードされなかったのでしょうか?

このブログ投稿やその他のドキュメントを探していますが、上記のプロファイル仕様の構文に固有のものは見つかりませんでした。利用可能なドキュメントはありますか?

ありがとう!

4

1 に答える 1

2

上記で説明した構文がSpringでサポートされていることは知りません。あなたが説明した構成により、2 つのアクティブなプロファイルが得られると思います。

  • addressbook-[usermanager|webservices]
  • entrypoint-[form|saml]

を使用して、現在アクティブなプロファイルを照会できますEnvironment.getActiveProfiles()。インスタンスを取得するには、EnvironmentSpring の自動配線または実装を使用できますEnvironmentAware

も参照してくださいProfileCondition。ロギングはありませんが、デバッガーを使用して、@Profileアノテーションに基づいて Bean が含まれているか除外されているかを確認できます。

于 2014-09-17T20:07:09.303 に答える