Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 保守/移行編


10.3.3 アプリケーションサーバ 11-00,11-10,11-20,または11-30から,11-40までの仕様変更

この項にある表で,アプリケーションサーバ 11-00,11-10,11-20,または11-30から,11-40までの仕様変更の項目を示します。

アプリケーションサーバ 11-00,11-10,11-20,または11-30から,11-40に移行する場合,この項にある表の「移行前のアプリケーションサーバのバージョン」列で該当する列を確認してください。「○」のときは仕様変更があるため,「仕様変更の項目」列に記載の参照先を確認してください。「−」のときは仕様変更がない,または移行前のバージョンにその仕様がないため,参照先の確認は不要です。

〈この項の構成〉

(1) アプリケーションサーバのJPA機能

アプリケーションサーバ 11-10以降,アプリケーションサーバのJPA機能はデフォルトで有効になります。11-00から移行した場合でも同様です。

11-00から移行した場合に,11-00のJ2EEサーバでJPA2.1を利用していたアプリケーションが,メッセージKDJE56515-Eを出力して開始に失敗するときは,アプリケーションサーバのJPA機能を無効にしてください。アプリケーションサーバのJPA機能を無効にするには,ユーザプロパティファイルに次のプロパティを設定してください。

ejbserver.jpa.disabled=true
互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。

(2) アプリケーションサーバのJPA機能のCDI Managed Bean対応

11-20以降では,CDI Managed Bean(それに関連づくインターセプタ含む)からアプリケーションサーバのJPA機能の使用をサポートします。そのため,CDI Managed Beanで@PersistenceContextおよび@PersistenceUnitが有効になり,アノテーションによってコンテナ管理のEntityManagerとEntityManagerFactoryがインジェクトされます。11-10以前から移行した場合でも同様です。

CDI Managed Beanで@PersistenceContextおよび@PersistenceUnitを無効にしたい場合は,ユーザプロパティファイルに次のプロパティを設定してください。

ejbserver.jpa.cdiEnabled=false
互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。

(3) Webコンテナのwelcomeファイル転送方式

11-20以降では,Webコンテナのwelcomeファイル転送方式がリダイレクト方式からフォワード方式に変更になります。このため,welcomeファイルをリダイレクトで処理することを期待していたアプリケーションを11-10以前から移行する場合,次の動作が異なります。

互換性を重視したシステムへ移行する場合に必要な作業

V9互換モードでは,リダイレクト方式から変更がないため作業はありません。

推奨機能を使用したシステムへ移行する場合に必要な作業

welcomeファイル内で相対パスを指定していて,リクエストURLからの相対パスとは異なる位置を期待している場合,指定したパスの変更が必要です。

影響を受けるもの

welcomeファイルから他のページへ遷移する場合に,期待したページへ遷移できない場合があります。

(4) リダイレクタ機能

11-20以降では,リダイレクタ機能を使用するためにHTTP Serverを起動する際は,環境変数を設定する必要があります。

互換性を重視したシステムへ移行する場合に必要な作業

リダイレクタ機能を使用するためにHTTP Serverを起動する際は,次の環境変数を設定する必要があります。

Linuxの場合

LD_LIBRARY_PATH=/opt/Cosminexus/common/lib

Windowsの場合

PATH=<Application Serverのインストールディレクトリ>¥common¥lib

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。

(5) リソース枯渇監視機能

11-40以降,リソース枯渇監視機能のメモリ枯渇監視情報のRate2のアラート出力は,デフォルトで無効になります。11-30以前から移行した場合でも同様です。

リソース枯渇監視機能のメモリ枯渇監視情報のRate2のアラート出力を有効にしたい場合は,ユーザプロパティファイルに次のプロパティを設定してください。

ejbserver.watch.memory.rate2alert.enabled=true
互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。

(6) sun.nio.cs.mapシステムプロパティの削除

JDK17以降の場合,sun.nio.cs.mapシステムプロパティを使用できません。そのため,エンコーディング名shift_jis,csshiftjis,ms_kanji,x-sjisをMS932の別名として実行させることができません。この変更によって文字化けが発生する場合は,アプリケーションを改修してください。

互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。

(7) javacコマンドのsource/target/releaseオプションに指定できる値

JDK17以降の場合,javacコマンドのsourceオプション,targetオプションおよびreleaseオプションに「6」を指定することはできません。

互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。

(8) Java SEのバージョン

アプリケーションサーバ11-40以降で使用されているJava SE 17は,Java SEの旧バージョンと,一部の機能に互換性がありません。詳細は,Java SEのドキュメントを参照してください。

互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。

(9) クラスファイルバージョンの変更

JDK17のクラスファイルバージョンは「61.0」です。

また,このクラスファイルバージョンの変更に伴い,クラスファイルフォーマットも変更されています。

互換性を重視したシステムへ移行する場合に必要な作業

クラスファイルの解析などを実施するプログラムやライブラリを使用している場合は,実装の変更やライブラリの更新などが必要となる場合があります。

推奨機能を使用したシステムへ移行する場合に必要な作業

互換性を重視したシステムへ移行する場合に必要な作業と同じです。

影響を受けるもの

ありません。

(10) JDKのバージョンによる明示管理ヒープ機能の使用可否

アプリケーションサーバ11-40に同梱されているJDK17では,明示管理ヒープ機能は非サポートです。明示管理ヒープ機能は,SerialGCにおけるGC停止時間の長期化を防ぐために使用します。11-40ではアプリケーションサーバでサポートしているG1GC,またはZGCを使用することでGC停止時間の長期化を防ぐことができます。継続して明示管理ヒープ機能をご使用になる場合は,JDK11をご使用ください。

JDK17の使用時にGC停止時間の長期化を防ぐときは,G1GCまたはZGCを使用してください。どのGCを選択するかによって,スループットや停止時間など,アプリケーションに与える影響が異なります。それぞれのGCの特徴を考慮して,アプリケーションの要件に合うGCを選択してください。それぞれのGCの特徴については,マニュアル「アプリケーションサーバ システム設計ガイド」の「7.1 GCとJavaVMのメモリ管理の概要」を参照してください。

明示管理ヒープ機能の使用状況については,-XX:[+|-]HitachiUseExplicitMemoryオプションの指定有無をご確認ください。詳細は,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「7.13.1 明示管理ヒープ機能を利用するための共通の設定(JavaVMオプションの設定)」を参照してください。

これまでに明示管理ヒープ機能を使用していて,これからJDK17を使用する場合,次の対応をしてください。

互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。

(11) JSPから生成されたサーブレット用コンパイラのバージョン

JSPファイルをコンパイルする過程で,中間ファイルとしてサーブレットのJavaソースを生成します。生成されたサーブレットのJavaソースはJavaコンパイラによって,最終的にclassファイルを生成します。このとき使用されるJavaコンパイラのJava言語仕様のバージョンは,製品のバージョンによって異なります。J2EEサーバでは,インストールされているjavacコンパイラのデフォルトバージョンのJava言語仕様に従ってJSPから生成されたサーブレットのソースファイルをコンパイルします。

コンパイルするJava言語仕様のバージョンを次の表に示します。

表10‒14 コンパイルするJava言語仕様のバージョン

アプリケーションサーバのバージョン

JDKのバージョン

コンパイルJava言語仕様バージョン

09-87から11-40より前

JDK11

Java SE 11

11-40

JDK11

Java SE 11

JDK17

Java SE 17

JSPファイルのスクリプティングに移行後のJava言語仕様(JDK11を使用している場合はJava SE 11,JDK17を使用している場合はJava SE 17)に反したコーディングをしていて,JSPから生成されたサーブレットのソースファイルがコンパイルできない場合,J2EEサーバのユーザプロパティファイルのwebserver.jsp.compile.backcompatキーに,移行前と同じコンパイラのJava言語仕様のバージョンを指定します。

cjjspcコマンドを使用してJSP事前コンパイルを実行する場合は,cjjspcコマンドの-sourceオプションに移行前と同じ値を指定します。

JSPファイル内にスクリプティングを記述していない場合や,JSPファイルのスクリプティングが移行後のJava言語仕様に反さずJSPから生成したサーブレットのソースファイルのコンパイルが正常にできる場合,上記の設定は不要です。

互換性を重視したシステムへ移行する場合に必要な作業

移行前のアプリケーションサーバのコンパイルJava言語仕様バージョンに合わせて,次の値を設定してください。

J2EEサーバ用のユーザプロパティファイル(usrconf.properties)のwebserver.jsp.compile.backcompatキー

  • JDK11を使用している場合:「1.6」「6」「1.7」「7」「1.8」または「8」

  • JDK17を使用している場合:「1.7」「7」「1.8」「8」または「11」

cjjspcコマンドの-sourceオプション(cjjspcコマンドを使用してJSP事前コンパイルを実行する場合)

  • JDK11を使用している場合:「1.6」「6」「1.7」「7」「1.8」「8」または「9」

  • JDK17を使用している場合:「1.7」「7」「1.8」「8」「9」または「11」

推奨機能を使用したシステムへ移行する場合に必要な作業

JSPファイルのスクリプティングに移行後のJava言語仕様に反したコーディングをしている場合,移行後のJava言語仕様に従うようにJSPファイルを修正してください。

影響を受けるもの

ありません。

(12) GCのデフォルト

GCのデフォルトは,11-30以前はSerialGCですが,11-40以降はG1GCになります。ただし,論理プロセッサが2未満または物理メモリが1792メガバイト未満の場合は,自動でSerialGCがデフォルトとして選択されます。

互換性を重視したシステムへ移行する場合に必要な作業

移行前にJDKでGCのオプションを指定していない,かつ11-40以降も11-30以前と同様にSerialGCを使用する場合は,-XX:+UseSerialGCオプションを指定してください。

推奨機能を使用したシステムへ移行する場合に必要な作業

作業はありません。

影響を受けるもの

ありません。