[17.0.0.3 and later]

Liberty ランタイムにおける有効な構成値のロケーション

以下のセクションでは、Liberty ランタイムでの有効な構成値のロケーションについて説明します。

環境変数

デフォルト・ソースを含めるよう要求された場合、すべてのプロセス環境変数が MicroProfile Config API の構成に含まれます。Liberty はホスト・プロセス環境変数を Java™ System.getenv() メソッドに公開し、さらにサーバーの server.env ファイルのプロパティーに追加します。その後これらの変数は MicroProfile Config API で使用可能になります。環境変数は序数 300 の優先順位で組み込まれます。

Libertyserver.env から入手されるプロパティーは、オペレーティング・システムの環境変数を使用して MicroProfile Config API 実装に渡されます。ホスト環境内の有効な環境変数名を持つプロパティーのみを server.env から入手できます。 例えば、Linux 環境は環境変数名 でのピリオド (.) の使用をサポートしません。 このため、user.name のようなプロパティー名は server.env ではサポートされません。

システム・プロパティー

デフォルト・ソースを含めるよう要求された場合、System.getProperties() 経由で使用可能なすべての Java システム・プロパティーが MicroProfile Config API の構成内に含まれます。Liberty はサーバーの bootstrap.properties ファイルから Java システム・プロパティーへプロパティーを追加します。システム・プロパティーは序数 400 の優先順位で組み込まれます。

MicroProfile Config のファイル・ロケーション

デフォルト・プロパティーを追加するよう要求されると、MicroProfile Config API は、スレッド ContextClassLoader またはユーザー提供による ClassLoader を使用して ${CLASSPATH}/META-INF/microprofile-config.properties ファイルからプロパティーをロードします。Liberty アプリケーションの場合、META-INF のロケーションは、JAR ファイルまたは WAR ファイルのルートのサブディレクトリー、または EAR ファイルの lib ディレクトリー内の JAR、またはサーバー・レベルの共有ライブラリー JAR 内のいずれかの可能性があります。プロパティー・ファイルから入手されるプロパティー値は、序数 100 の優先順位でロードされます。

Java ServiceLoader のロード済みソース

MicroProfile Configuration プロジェクト・サイトに記載された API を使用して、構成ソースをプログラマチックに登録することができます。Java ServiceLoader パターンを使用して、動的に検出され、実行時にロードされる構成ソース・オブジェクトを見つけることもできます。

構成値の有効範囲

構成ソースは、loadResources() メソッドを使用して ClassLoader コード経由で、および Java ServiceLoader パターン経由でロードされます。これにより、構成値の有効範囲は Liberty 内の Java クラスの有効範囲をミラーリングします。1 つのアプリケーション WAR ファイル内の構成値は、それらの構成値が同じ EAR アプリケーションのアセンブリーまたはサーバーの一部であっても、通常は他の WAR ファイルではアクセスできません。${CLASSPATH}/META-INF/microprofile-config.properties を EAR の lib ディレクトリー内の JAR に置くことで、EAR 全体で構成を共有できます。server.env ファイル内に構成値を置くか、共通の構成値を使用する必要のあるアプリケーションの対応する commonLibrary 参照で server.xml ファイル内の library エレメントを使用することで、Liberty サーバー全体で構成を共有できます。


トピックのタイプを示すアイコン 概念トピック

ファイル名: twlp_microprofile_appconfig_validsources.html