back to all blogsすべてのブログ投稿を表示

Open Liberty 23.0.0.1 の EPLv2 への再ライセンス

image of author image of author
Michal Broz and 浅田 かおり (翻訳) 2023年2月18日
他言語版へのリンク: English ,

23.0.0.1 リリースでは、Liberty が EPLv1 から EPLv2 へと再ライセンスされました。 また、このリリースには様々なバグフィックスが含まれています。

Open Liberty 23.0.0.1では、

23.0.0.1.で修正されたバグの一覧を見ることができます。

23.0.0.1を使用してアプリを実行する

Mavenを使う時には下記の設定を使ってください。

<dependency>
    <groupId>io.openliberty</groupId>
    <artifactId>openliberty-runtime</artifactId>
    <version>23.0.0.1</version>
    <type>zip</type>
</dependency>

Gradleの場合は、下記の設定を使ってください。

dependencies {
    libertyRuntime group: 'io.openliberty', name: 'openliberty-runtime', version: '[23.0.0.1,)'
}

Dockerを使っているときは、下記のイメージを使ってください。

FROM open-liberty

または、Open Libertyの ダウンロードページからダウンロードしてください。

Ask a question on Stack Overflow

Open LibertyのライセンスはEPLv2になりました

2022年12月7日、Open LibertyのEPLv2への再ライセンス提案のブログ記事を公開し、Open LibertyのライセンスをEPLv1からEPLv2への変更についてコミュニティに意見を求めました。 この提案に対して否定的なフィードバックがなかったため、私たちはこの変更を進めました。結果として、Open Liberty 23.0.0.1はEPLv2ライセンスのもとでリリースされます。 EPLv1からEPLv2への移行の理由と影響についてのより詳しい情報は、proposal blog記事をご覧ください。

主なバグ修正

以下のセクションでは、このリリースで修正したバグの一部について説明します。興味がある場合は23.0.0.1の全バグ修正リストを参照してください。

  • JDK20 以降では、最低でも 1.8 の jdkSourceLevel を使用

    JDK 20 では、javac が Java 1.7 のコンパイルのサポートを終了しています。この変更により、JSPで jdkSourceLevel="17" (Java version 1.7) を指定した場合、以下のエラーが発生します。

    com.ibm.ws.jsp.JspCoreException: JSPG0049E: /xxxxxxxxx.jsp failed to compile :
    error: Source option 7 is no longer supported. Use 8 or later.

    Java 20以降をランタイムとする場合、ユーザが指定した jdkSourceLevel に低いレベルが指定されると、 18 に上書きされます。 修正後、Java 20以降を使用する場合、jdkSourceLevel17 以下が指定されると、その値は 18 に上書きされるようになりました。

  • ファイルモニタリングでデフォルトのkeystore ファイルが検出されない

    updateTrigger 属性に mbean (デフォルト値) を使用すると、変更が発生したときにデフォルトの keystore ファイルがリロードされないという問題が発生しました。

    この問題は解決され、このシナリオでファイル監視が適切に行われ、期待通りにファイルがリロードされるようになりました。

  • JDBCDriverService; Booleanパラメータに関する問題

    Microsoft JDBC ドライバの変更により、properties.microsoft.sqlserver プロパティの属性に boolean 値が使用された場合にリグレッションが発生するようになりました。この変更により、以下の例のようなエラーが発生します。

    com.ibm.ws.jdbc.internal.JDBCDriverService W DSRA8021W: Warning: error setting 'encrypt'=true: java.lang.IllegalArgumentException: argument type mismatch
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    この問題を解決するために、boolean 値を現在期待されている String に変換する変更が行なわれました。

  • IndexOutOfBoundsExceptionがリソース停止中に発生することがある

    バックエンドリソースの停止中に java.lang.IndexOutOfBoundsException が発生する可能性があります。停止中は、破棄するようにマークされた接続を再利用すべきではありません。不良な接続は削除されますが、次のマッチングによって再利用しようとすると、次のような例外がスローされる可能性があります。

    StackTrace=java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
            at java.util.ArrayList.rangeCheck(ArrayList.java:670)
            at java.util.ArrayList.remove(ArrayList.java:509)
            at com.ibm.ejs.j2c.FreePool.getFreeConnection(FreePool.java:658)

    この問題は解決され、java.lang.IndexOutOfBoundsException は発生しなくなりました。

  • JTOpen Toolbox driver 11.1 Open LibertyからIBM iへのJDBC接続に失敗する

    IBM JTOpen Toolbox driver 11.1 を使用して IBM i システムとの JDBC 接続を確立すると、次のエラーで接続に失敗します。

    {exception=The application server rejected the connection. (Password is not set.) DSRA0010E: SQL State = 08004, Error Code = -99,999, id=jdbc/database}

    およびスタックトレース

    [INFO] [WARNING ] DSRA8021W: Warning: error setting 'password'=******: java.lang.NoSuchMethodException: [C.<init>(java.lang.String)
    [INFO]  at java.base/java.lang.Class.getConstructor0(Class.java:3585)
    [INFO]  at java.base/java.lang.Class.getConstructor(Class.java:2271)
    [INFO]  at com.ibm.ws.jdbc.internal.JDBCDriverService.setProperty(JDBCDriverService.java:1005)
    ...

    ランタイムが更新され、パスワードの char[] 値を扱えるようになり、この問題が解決されました。

  • シャットダウン中にメッセージングクライアントがハングアップする

    クライアントとして動作するサーバーが新しいキーストアを作成している間に、アプリケーションがリモートメッセージングエンジンに接続しようとすると、小さなタイミングウィンドウが存在することがあります。メッセージングクライアントのシャットダウン中に、新しい送信接続が作成され、それがクリーンアップされない可能性がありました。この場合、次のサーバーのシャットダウンは、無期限にハングアップします。

    この問題は、メッセージングクライアントがシャットダウンしている間は、新しい送信接続を許可しないようにすることで解決しました。

  • JSPコンパイル時のシンタックスエラーは一貫してエラーJSPG0077Eを出力

    JSP Syntax Error (JspCoreException) のすべてのケースで JSPG0077E エラーメッセージが messages.logconsole.log に出力されていませんでした。 このメッセージは、以前はコンパイルされておらず、プリコンパイルが無効になっている JSP でシンタックスエラーが発生した場合に表示されます。

    この問題は解決され、`JSPG0077E`のエラーメッセージはログに正しく出力されるようになりました。

  • Liberty Windowsサービスを起動後すぐに停止するとハングする現象が見られる

    LibertyサーバーをWindowsサービスとして登録した場合、起動後すぐにサービスを停止すると、ハングアップする現象が発生します。

    この問題は解決され、サービスを開始後すぐに停止してもサーバーがハングアップすることはなくなりました。

  • スクリプトが server.env の enable_variable_expansion インジケーターを正しく認識しない

    documentedと同様に server コマンド スクリプトは server.env ファイルで # enable_variable_expansion というコメントを見つけたときに変数展開を許可します。しかし、wlp/bin 以下の他のスクリプトは # enable_variable_expansion というコメントを無視し、期待した変数の展開が行なわれません。

    この問題は解決され、wlp/bin ディレクトリにあるすべてのスクリプトは、 server.env ファイルに # enable_variable_expansion というコメントが設定されると、変数展開を適切にサポートするようになりました。

  • oauthForm.jsでPKCEパラメータがコピーされない

    ` /authorize` エンドポイントを通してアクセスされるconsent ページは、オリジナルのリクエストからすべてのパラメータを渡すわけではありません。これにより、PKCE の code_challengecode_challenge_method パラメータが欠落し、結果として承認エンドポイントから CWOAU0033E エラーが発生します。

    この問題は解決され、PKCEのパラメーターは受け入れられています。

今すぐOpen Liberty 23.0.0.1を入手する