第9章 カスタム設定コンバーターの設定値としての使用
org.eclipse.microprofile.config.spi.Converter<T>
を実装し、その完全修飾クラス名を META-INF/services/org.eclipse.microprofile.config.spi.Converter
ファイルに追加することで、設定値としてカスタムタイプを保存することができます。
前提条件
-
Quarkus
config-quickstart
プロジェクトを作成していること。
手順
以下の例に示すように、
META-INF/services/org.eclipse.microprofile.config.spi.Converter
サービスファイルにコンバーターの完全修飾クラス名を含めます。org.acme.config.MicroProfileCustomValueConverter org.acme.config.SomeOtherConverter org.acme.config.YetAnotherConverter
org.acme.config.MicroProfileCustomValueConverter org.acme.config.SomeOtherConverter org.acme.config.YetAnotherConverter
Copy to Clipboard Copied! Toggle word wrap Toggle overflow converter クラスを実装し、convert メソッドを上書きします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記カスタムコンバータークラスは
public
で、引数なしのコンストラクターpublic
がなければなりません。カスタムコンバータークラスはabstract
であってはなりません。カスタムタイプを設定値として使用します。
@ConfigProperty(name = "configuration.value.name") MicroProfileCustomValue value;
@ConfigProperty(name = "configuration.value.name") MicroProfileCustomValue value;
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1. カスタムコンバーターの優先度の設定 リンクのコピーリンクがクリップボードにコピーされました!
すべての Quarkus コアコンバーターのデフォルト優先度は 200 で、他のすべてのコンバーターは 100 です。ただし、javax.annotation.Priority
アノテーションを使用してカスタムコンバーターにより高い優先度を設定できます。
以下の手順は、優先度が 150 に割り当てられたカスタムコンバーター MicroProfileCustomValue
の実装を説明しています。これは、優先度が 100 である MicroProfileCustomValueConverter
よりも優先されます。
前提条件
-
Quarkus
config-quickstart
プロジェクトを作成していること。
手順
以下の import ステートメントをサービスファイルに追加します。
package org.acme.config; import javax.annotation.Priority; import org.eclipse.microprofile.config.spi.Converter;
package org.acme.config; import javax.annotation.Priority; import org.eclipse.microprofile.config.spi.Converter;
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスに
@Priority
アノテーションを付け、優先度の値を渡して、カスタムコンバーターの優先度を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記新しいコンバーターを追加する場合は、これを
META-INF/services/org.eclipse.microprofile.config.spi.Converter
サービスファイルに記載する必要があります。