はじめに
前回のEclipse MicroProfileとはで概要を紹介したEclipse MicroProfile Configについて説明したいと思います。
始め方
前々回のEclipse MicroProfileの始め方で紹介した、
MicroProfile Starterを使っていきます。

こちらの設定でプロジェクトを作成、ダウンロードします。
ファイル構成は以下のようになっています。

ビルド、アプリ起動しlocalhost:8080へアクセスすると以下のようはTop画面が用意されています。

前々回と異なり、Configについてのサンプルリンクが用意されています。
リンク先はどちらも以下のような設定内容を画面表示させるようなシンプルなものとなってます。

設定の仕方
設定ファイルの利用
プロジェクト内の設定ファイルを見ることが基本系となります。
Key-Value形式で設定することができます。
injected.value=Injected value
value=lookup value
起動時引数の利用
以下のような形で起動時引数で指定します。
java -Dinjected.value=CustomValue -jar target/configdemo.jar
起動すると以下のように設定ファイルの内容が、起動時引数の設定に上書きされます。

環境設定の利用
環境変数でも指定可能です。
export value=EnvCustomValue
java -jar target/configdemo.jar

設定内容の取得方法
インジェクションでの取得
// CDIの@Injectを利用
@Inject
//キー名を取得することで、フィールドインジェクション可能
@ConfigProperty(name = "injected.value")
private String injectedValue;
@Path("/injected")
@GET
public String getInjectedConfigValue() {
return "Config value as Injected by CDI " + injectedValue;
}
LookUpのAPIでの取得
@Path("/lookup")
@GET
public String getLookupConfigValue() {
// 以下のAPIで取得
Config config = ConfigProvider.getConfig();
String value = config.getValue("value", String.class);
return "Config value from ConfigProvider " + value;
}
まとめ
かなりシンプルな設定方法と設定の取得方法であったことが分かったかと思います。
Springでも同じようなことができますが、JavaEE系のアプリケーションでも簡単に使えます。
クラウドやコンテナ利用で同じモジュール、バイナリ、コンテナイメージを使う際にはこの機能は使いたいですよね。
参考リンク
- 公式ドキュメント
Configuration for MicroProfile