と Jakarta EE 共通 API から構成される MicroProfile 5.0 Open Tracing 3.0 Open API 3.0 Rest Client 3.0 Config 3.0 Fault Tolerance 4.0 Metrics 4.0 JWT Propagation 2.0 Health 4.0 CDI 3.0 JSON-P 2.0 JAX-RS 3.0 JSON-B 2.0 Jakarta Annotation 2.0 MicroProfile 独自 API Jakarta EE 共通 API
Semeru Runtimes は以下で⼊⼿可能。 • https://developer.ibm.com/languages/java/semeru-runtimes/downloads/ – インストールして、java コマンドにパスを通して JAVA_HOME を設定しておく。 – デモ開発は IBM Semeru Runtimes を使⽤しています。 n Eclipse IDE for Enterprise Java and Web Developers – https://marketplace.eclipse.org/content/ibm-liberty-developer-tools を⾒て、最新の Liberty Developer Tools がサポートする最新の Eclipse を⼊⼿、導⼊します。 • 今回は 2022-03 を使⽤しています – Eclipse Marketplace から IBM Liberty Developer Tools を導⼊します。 n インターネット接続 18
n ターミナル (コマンドプロンプト) で ./mvnw liberty:dev コマンドを発⾏する。 – Open Liberty dev mode についてはこちら https://openliberty.io/docs/latest/development-mode.html n 以下が表⽰されるのを待つ。(初回の起動時は時間がかかります) n Web ブラウザーを開いて http://localhost:9080/config-demo/MessageServlet へアクセス する。 n 以下が表⽰されれば、ここまでの作業は成功となる。 24 [INFO] [監査 ] CWWKT0016I: Web アプリケーションが使⽤可能です (default_host): http://localhost:9080/config-demo/ [INFO] [監査 ] CWWKZ0003I: アプリケーション config-demo が 0.501 秒で更新されました。
src > main > liberty > config を右リックして New > File をクリックする。 n File name: に server.env を記⼊して Finish をクリックする。 n エディタで server.env が開くので 下の内容を追記して保存。 n Liberty dev モードを実⾏している (./mvn liberty:dev を発⾏した) ターミナルで、r と Enter を順に押してサーバーを再起動する。 n 先ほどの Web ブラウザー画⾯をリロードする。 26 message=Hello from server.env!
src > main > liberty > config を右クリックし、 New > File をクリックする。 n File name: に jvm.options と記⼊して Finish をクリックする。 n エディターで jvm.options が開くので、–Dmessage=Hello from jvm.options! と記⼊して 保存する。 – 上の –Dmessage=Hello from jvm.options! をコピー & ペーストすると失敗します。キーボードから打ち込 んで下さい。 n これまでと同様に Web ブラウザー画⾯をリロードする。 27
META-INF > microprofile-config.properties を 開いて、以下の内容となるように編集して保存する。 n config-demo > src > main > liberty > config > jvm.options を開いて、以下の内容で保 存する。 42 message=Hello from microprofile-config.properties! %dev.message=Hello from microprofile-config.properties for dev. %test.message=Hello from microprofile-config.properties for test. %prod.message=Hello from microprofile-config.properties for prod. -Dmp.config.profile=dev
– https://microprofile.io/compatible/5-0/ n Open Liberty (EPL: Eclipse Public License) – https://openliberty.io/start/#runtime_releases – 22.0.0.1 またはそれ以降 55
5.0 で Jakarta EE 9.1 に対応している。 – MicroProfile 独⾃の API 群と、Java / Jakarta EE と共通の API 群から構成される。 n 構成情報の外部化に Config API を使⽤することができる。 – Java のコードには⼀切変更を加えることなく、さまざまな箇所 (構成ソース) に記載された構成情報を読み込むことができた。 – 構成ソースには優先順位がある。 n デフォルト構成ソースに加えて、カスタム構成ソースを作成して使⽤することができる。 – 優先順位も設定できる n 動的に値が変化する動的構成ソースを作成して使⽤することができる。 n 構成プロファイルを使⽤すると、システム・プロパティで環境 (開発、テスト、本番など) を指定することが できる。 n Java / Jakarta EE と MicroProfile は「択⼀」ではない (と思う)。 – Java / Jakarta EE アプリケーションでも有⽤な MicroProfile の API がある。 – Config API で⼊⼿した構成情報を、サーブレットを⽤いて Web ブラウザーに表⽰した。 57
2021 Final – https://download.eclipse.org/microprofile/microprofile-config-3.0/microprofile-config-spec-3.0.html n MicroProfile Config API v3.0 – https://download.eclipse.org/microprofile/microprofile-config-3.0/apidocs/ n External configuration of microservices – https://openliberty.io/docs/latest/external-configuration.html n SmallRye Config – https://smallrye.io/smallrye-config/ 59