この記事はWebSphere 25周年, DB2/MQ30周年 アニバーサリー記念 Qiita記事投稿キャンペーンの参加記事です。
Open Libertyおよび製品版のWebSphere Libertyについて,2022年12月にリリースされた22.0.0.12から2023年2月の23.0.0.2までで追加された新機能について紹介します。また,これ以外にも多くのバグやCVE脆弱性が修正されています。
ライセンス
EPLv2への移行
従来,Open LibertyはEPLv1(Eclipse Public License version 1.0)で提供されていましたが,2023年1月にリリースされた23.0.0.1からEPLv2(Eclipse Public License version 2.0)に変更されました。Eclipse Foundationでの仕様策定手順(EFSP)に対応するためです。EFSPでは,新しい仕様をリリースするにあたって,一つないし複数のCompatible Implementationを含みますが,このCompatible Implementationの必要条件のひとつとしてEPLv2(もしくはEclipse Distribution LicenseかApache License 2)が要求されているためです。
API
MicroProfile 6.0対応
2022年12月にリリースされたMicroProfile 6.0に,1月にリリースされた23.0.0.1で対応しました。
今回から,Jakarta EE仕様と共通の仕様群が,Jakarta EE Core Profileとして定義されるようになりました。MicroProfile 6.0の更新内容の詳細については,こちらの資料を参照ください。
Core Runtime
FFDCファイルの最大数の設定
FFDC(First Failure Data Capture)は問題判別のためのLibertyの機能です。Libertyランタイムの内部で意図しないエラーが発生した場合,問題判別に利用するため関連する内部コンポーネントが保持している情報をファイルに記録しておく機能です。
FFDCによって生成される情報はサーバー出力ディレクトリのlogs/ffdcディレクトリにイベントごとにファイルとして保存されますが,このファイルの数がしばしば非常に多くなることがあります。従来のLibertyでは,FFDCファイルは500に制限されており,これを超えると自動的に古いものから削除されていましたが,この最大数を構成により変更することなどはできませんでした。
2022年12月にリリースされた22.0.0.13から,FFDCを保持する期間を指定できるようになりました。サーバー構成ファイルのlogging
要素のmaxFfdcAge
属性を指定することで,一定時間以上経過したFFDCファイルを自動的に削除するように構成できるようになりました。以下のように構成すると2日以上たったFFDCファイルは自動的に削除されるようになります。
<server>
<logging maxFfdcAge="2d" />
</server>
Admin CenterおよびRESTクライアントからのDBテスト接続
2023年2月にリリースされた23.0.0.2から,Libertyで定義されたDBなどへのテスト接続の機能が提供されるようになりました。接続に必要な情報が正しく定義されているかをアプリケーションを実行することなく確認できます。これは,従来型のWebSphereであるWAS V9.0 Traditionalランタイムの管理コンソールで提供されていた機能と同等のものとなります。
詳細な構成方法や,実際のテストの実施方法については,Open Libery Blogを参照ください。
サーバー停止時のタイムアウト時間の指定
Libertyでは,server stop
コマンドでサーバーの停止を要求したときに,サーバーで実行中の処理が残っていると,30秒間処理の完了を待ちます。30秒のタイムアウト時間が経過しても処理が完了しないとサーバーの強制停止が行われます。
2023年2月にリリースされた23.0.0.2から,この処理の完了を待つまでの時間を,停止コマンドの引数で指定できるようになりました。処理完了まで最大で2分30秒待機させるには,以下のようにオプションを指定します。
$ ./server stop --timeout=2m30s
以下のように単位をつけずに数値を指定した場合には,秒数として解釈されます。以下の例では,最大3分間(180秒間)待機します。
$ ./server stop --timeout=180