Java EE 8 振る舞いの違い
WebSphere Liberty で Java EE 7 から Java EE 8 に移行する場合、実装の変更および仕様の明確化のため、アプリケーションでの振る舞いが異なることがあります。 WebSphere Liberty では、次の Java EE レベルへの移行は不要であり、既存の Java EE 6 または Java EE 7 のフィーチャーを使用し続けることができます。 Java EE 8 レベルに移行する場合は、アプリケーションが使用するすべてのテクノロジーは Java EE 8 レベルにマイグレーションする必要があります。
| 規則名 | ルールの説明 | 自動修正 |
|---|---|---|
| デプロイメント記述子で、Apache をデフォルト・プロバイダーとして使用しない | このルールは、validation.xml デプロイメント記述子内の org.apache.bval.jsr* (bval 1.1) および org.apache.bval.jsr303* (bval 1.0) パッケージ参照にフラグを立てます。 |
java-ee-8.yml org.openrewrite.java.migrate.javaee8.ApacheDefaultProvider |
| jaxrs-2.1 フィーチャーでは com.ibm.json パッケージは使用できない | com.ibm.json API は、jaxrs-2.1 Liberty フィーチャーでは使用できません。 | いいえ |
| OpenJPA API は Java EE 8 では使用できない | Java EE 8 は、OpenJPA API を提供していた JPA の古いバージョンとは互換性がありません。 | いいえ |
| buildValidatorFactory メソッドおよび buildDefaultValidatorFactory メソッドでの振る舞いの変更を確認する | この規則により、javax.validation.Validation.buildDefaultValidatorFactory() メソッドおよび javax.validation.Configuration.buildValidatorFactory() メソッドの呼び出しにフラグを立てます。これらのメソッドの振る舞いが、Bean Validation 2.0 で変更されたためです。 | いいえ |
| 日付、時刻、およびカレンダーのタイプの JSON バインディングは変換する必要がある | JAX-RS 2.1 では、JSON バインディングに使用されるライブラリーが、JAX-RS 2.1 以降、Jackson から Yasson に切り替えられました。 date 型、time 型、または calendar 型を含む JSON 型のデータを作成または取り込むすべての JAX-RS リソース・メソッドが影響を受けます。 | いいえ |
| 非推奨のアノテーションおよびインターフェースを javax.faces.bean パッケージで使用しない | この規則は、javax.faces.bean パッケージ内のクラスの参照にフラグを立てます。 | いいえ |
| 非推奨の HttpServletRequestWrapper isRequestedSessionIdFromUrl メソッドの使用は避けてください | この規則は、 javax.servlet.http.HttpServletRequestWrapper.IsRequestedSessionIdFromUrl(*) メソッドの参照にフラグを立てます。このメソッドは非推奨となり、javax.servlet.http.HttpServletRequestWrapper.IsRequestedSessionIdFromURL(*) に置き換えられました。 | java-ee-8.yml org.openrewrite.java.migrate.javaee8.ServletIsRequestedSessionIdFromURL |