3.2. MicroProfile Config の設定
3.2.1. ConfigSource 管理リソースでのプロパティーの追加 リンクのコピーリンクがクリップボードにコピーされました!
プロパティーは管理リソースとして config-source サブシステムに直接保存できます。
手順
ConfigSource を作成し、プロパティーを追加します。
/subsystem=microprofile-config-smallrye/config-source=props:add(properties={"name" = "jim"})
3.2.2. ディレクトリーを ConfigSources として設定 リンクのコピーリンクがクリップボードにコピーされました!
プロパティーがファイルとしてディレクトリーに保存されている場合、file-name はプロパティーの名前で、ファイルの内容はプロパティーの値になります。
手順
ファイルを保存するディレクトリーを作成します。
$ mkdir -p ~/config/prop-files/ディレクトリーに移動します。
$ cd ~/config/prop-files/プロパティー
nameの値を保存するファイルnameを作成します。$ touch nameプロパティーの値をファイルに追加します。
$ echo "jim" > nameファイル名がプロパティーであり、プロパティーの値が含まれるファイルが含まれる ConfigSource を作成します。
/subsystem=microprofile-config-smallrye/config-source=file-props:add(dir={path=~/config/prop-files})これにより、以下の XML 設定が以下のようになります。
<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source name="file-props"> <dir path="/etc/config/prop-files"/> </config-source> </subsystem>
3.2.3. ルートディレクトリーを ConfigSource として設定 リンクのコピーリンクがクリップボードにコピーされました!
root 属性を使用して、ディレクトリーを複数の MicroProfile ConfigSource ディレクトリーのルートディレクトリーとして定義できます。
ネストされた root 属性は、/subsystem=microprofile-config-smallrye/config-source=* リソースの dir 複合属性の一部です。これにより、同じルートディレクトリーを共有する場合に、複数の ConfigSource ディレクトリーを指定する必要がなくなります。
ルートディレクトリー内の直接のファイルは無視されます。これらは設定には使用されません。最上位ディレクトリーは ConfigSource として扱われます。ネストされたディレクトリーも無視されます。
最上位ディレクトリーの ConfigSource には、デフォルトで /subsystem=microprofile-config-smallrye/config-source=* リソースの ordinal が割り当てられます。
最上位ディレクトリーに config_ordinal ファイルが含まれている場合は、ファイルで指定された値がデフォルトの ordinal を 上書き します。同じ ordinal を持つ 2 つの最上位ディレクトリーに同じエントリーが含まれている場合、ディレクトリー名はアルファベット順にソートされ、最初のディレクトリーが使用されます。
前提条件
-
MicroProfile Config 拡張機能をインストールし、
microprofile-config-smallryeサブシステムを有効にしました。
手順
- ターミナルを開きます。
ファイルを保存するディレクトリーを作成します。
mkdir -p ~/etc/config/prop-files/作成したディレクトリーに移動します。
cd ~/etc/config/prop-files/プロパティー
nameの値を保存するファイルnameを作成します。touch nameプロパティーの値をファイルに追加します。
echo "jim" > nameCLI で次のコマンドを実行して、ファイル名がプロパティーであり、ファイルにプロパティーの値が含まれる ConfigSource を作成します。
/subsystem=microprofile-config-smallrye/config-source=prop-files:add(dir={path=/etc/config, root=true})結果は次の XML 設定になります。
<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:2.0"> <config-source name="prop-files"> <dir path="/etc/config" root="true"/> </config-source> </subsystem>
3.2.4. ConfigSource クラスからの ConfigSource の取得 リンクのコピーリンクがクリップボードにコピーされました!
カスタムの org.eclipse.microprofile.config.spi.ConfigSource 実装クラスを作成および設定して、設定値のソースを提供することができます。
手順
以下の管理 CLI コマンドは、
org.exampleという名前の JBoss モジュールによって提供される、org.example.MyConfigSourceという名前の実装クラスのConfigSourceを作成します。org.exampleモジュールからConfigSourceを使用する場合は、<module name="org.eclipse.microprofile.config.api"/>依存関係をpath/to/org/example/main/module.xmlファイルに追加します。/subsystem=microprofile-config-smallrye/config-source=my-config-source:add(class={name=org.example.MyConfigSource, module=org.example})このコマンドを実行すると、
microprofile-config-smallryeサブシステムに以下の XML 設定が指定されます。<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source name="my-config-source"> <class name="org.example.MyConfigSource" module="org.example"/> </config-source> </subsystem>
カスタムの org.eclipse.microprofile.config.spi.ConfigSource 実装クラスによって提供されるプロパティーはすべての JBoss EAP デプロイメントで使用できます。
3.2.5. ConfigSourceProvider クラスからの ConfigSource 設定の取得 リンクのコピーリンクがクリップボードにコピーされました!
複数の ConfigSource インスタンスの実装を登録する、カスタムの org.eclipse.microprofile.config.spi.ConfigSourceProvider 実装クラスを作成および設定できます。
手順
config-source-providerを作成します。/subsystem=microprofile-config-smallrye/config-source-provider=my-config-source-provider:add(class={name=org.example.MyConfigSourceProvider, module=org.example})このコマンドは、
org.exampleという名前の JBoss Module によって提供される、org.example.MyConfigSourceProviderという名前の実装クラスのconfig-source-providerを作成します。org.exampleモジュールからconfig-source-providerを使用する場合は、<module name="org.eclipse.microprofile.config.api"/>依存関係をpath/to/org/example/main/module.xmlファイルに追加します。このコマンドを実行すると、
microprofile-config-smallryeサブシステムに以下の XML 設定が指定されます。<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"> <config-source-provider name="my-config-source-provider"> <class name="org.example.MyConfigSourceProvider" module="org.example"/> </config-source-provider> </subsystem>
ConfigSourceProvider 実装によって提供されるプロパティーはすべての JBoss EAP デプロイメントで使用できます。