Hitachi

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


10.3.5 旧バージョンからVersion 9までの仕様変更の一覧

旧バージョンからVersion 9までの仕様変更を示します。

〈この項の構成〉

(1) Java SEのバージョン

09-87以降で使用されているJava SE 11は,以前のJ2SE 1.4.2,J2SE 5.0,JavaSE 6,Java SE7,Java SE 8,Java SE 9と,一部の機能に互換性がありません。詳細については,JavaSEのドキュメントを参照してください。

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

作業はありません。

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

作業はありません。

影響を受けるもの

ありません。

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

変更内容

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

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

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

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

JDKのバージョン

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

Version 8

JDK 5.0

J2SE 5.0

JDK 6

Java SE 6

09-00から09-60より前

JDK 6

Java SE 6

09-60から09-70より前

JDK 7

Java SE 7

09-70

JDK 8

Java SE 8

09-80

JDK 9

Java SE 9

09-87

JDK 11

Java SE 11

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

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

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

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

移行前のアプリケーションサーバのコンパイルJava言語仕様バージョンに合わせて,J2EEサーバ用のユーザプロパティファイル(usrconf.properties)のwebserver.jsp.compile.backcompatキーに「1.6」「6」「1.7」「7」「1.8」または「8」を設定してください。

cjjspcコマンドを使用してJSP事前コンパイルを実行する場合は,同様に移行前のアプリケーションサーバでのコンパイラが受け付けるソースコードのバージョンに合わせて,cjjspcコマンドの-sourceオプションに1.6,6,1.7,7,1.8または8を設定してください。

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

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

影響を受けるもの

10.3.5(1) Java SEのバージョン

(3) POSTリクエストのフォームデータの最大サイズの制限

変更内容

POSTリクエストのフォームデータ(Content-Typeヘッダの値がapplication/x-www-form-urlencodedの場合のPOSTデータ)の最大サイズがデフォルトで2MBに制限されます。更新インストールをした場合,すでにセットアップされているJ2EEサーバには,POSTリクエストのフォームデータの最大サイズを無制限にする設定(webserver.connector.limit.max_post_form_data=-1)が自動的に実施されます。

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

J2EEサーバ用usrconf.propertiesのwebserver.connector.limit.max_post_form_dataプロパティに-1(無制限)を指定してください。

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

J2EEサーバ用usrconf.propertiesのwebserver.connector.limit.max_post_form_dataプロパティに適切な上限値を指定してください。

影響を受けるもの

アプリケーションがPOSTリクエストを行う際,2MB以上のフォームデータを送信している場合は実行時エラーになります。

(4) 同一J2EEサーバ内のほかのアプリケーションで動作するEnterprise Beanの呼び出し手順の改善

変更内容

09-00以降では,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に次のプロパティを設定した場合,またはこのプロパティの指定を省略した場合,同一J2EEサーバ内のほかのアプリケーションで動作するEnterprise Beanの呼び出しができます。

パラメタ名

ejbserver.rmi.localinvocation.scope

app

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(5) J2EEアプリケーション起動時およびJSPコンパイル時のJavaプログラムのコンパイル処理

変更内容

バージョンアップに伴い,J2EEサーバの設定ファイルの変更が必要です。

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

作業はありません。

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

作業はありません。

影響を受けるもの

Javaヒープ使用量が以前のバージョンに比べて約40MB増加します。

(6) 論理サーバの環境変数定義の再設定

変更内容

バージョンアップに伴い,adminagent.xmlファイルの変更が必要です。

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

Management Serverを使用している場合,運用管理ポータルの「論理サーバの起動/停止」で使用する環境変数を設定していたときは,新たにインストールされたadminagent.xmlファイルに環境変数を再設定する必要があります。adminagent.xmlは次のディレクトリに格納されています。

  • Windowsの場合

    <製品のインストールディレクトリ>\manager\config

  • UNIXの場合

    /opt/Cosminexus/manager/config

adminagent.xmlでの環境変数の設定については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「8.2.4 adminagent.xml(運用管理エージェント設定ファイル)」を参照してください。

注意事項
  • adminagent.xmlはインストール時に上書きされ,既存のファイルはadminagent.xml.bakに退避されます。

  • adminagent.xmlはバージョンアップによって変更されている可能性があります。adminagent.xmlを編集して運用している場合は,新たにインストールされたファイルに,以前に編集した項目を再編集してください。

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

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

影響を受けるもの

移行で実施する作業を行わないと,「論理サーバの起動/停止」で使用する環境変数の設定が引き継がれません。

(7) JP1イベントメッセージマッピングファイルの再設定

変更内容

バージョンアップに伴い,JP1イベントメッセージマッピングファイルの変更が必要です。

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

次に示すJP1イベントメッセージマッピングファイルは,更新インストール時に上書きされないで旧バージョンのファイルが引き継がれます。

  • Management Server用メッセージマッピングファイル

    mserver.jp1event.system.mapping.properties

  • J2EEサーバ共通用メッセージマッピングファイル

    manager.jp1event.system.mapping.properties

  • J2EEサーバ個別用メッセージマッピングファイル

    manager.<論理サーバ名>.jp1event.system.mapping.properties

JP1イベントメッセージマッピングファイルをカスタマイズしないで使用していた場合

次の場所に格納されているManagement Server用メッセージマッピングファイルとJ2EEサーバ共通用メッセージマッピングファイルを修正しないで,旧バージョンのファイルに上書きしてください。

  • Windowsの場合

    <製品のインストールディレクトリ>\manager\config\templates

  • UNIXの場合

    /opt/Cosminexus/manager/config/templates

JP1イベントメッセージマッピングファイルをカスタマイズして使用していた場合

次の場所に格納されているManagement Server用メッセージマッピングファイルとJ2EEサーバ共通用メッセージマッピングファイルをコピーして,旧バージョンのときと同様にカスタマイズした上で,旧バージョンのファイルに上書きしてください。

  • Windowsの場合

    <製品のインストールディレクトリ>\manager\config\templates

  • UNIXの場合

    /opt/Cosminexus/manager/config/templates

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

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

影響を受けるもの

移行で実施する作業を行わないと,新しいバージョンで追加されたメッセージに対するJP1イベントが発行されません。

(8) snapshotログ収集先対象リストファイルの再設定

変更内容

バージョンアップに伴い,snapshotログ収集先対象リストの変更が必要です。

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

snapshotログを収集する場合に,snapshotログ収集先対象リストファイル(snapshotlog.conf,snapshotlog.2.conf,およびsnapshotlog.param.conf)を編集して使用していたときは,新たにインストールされたsnapshotログ収集先対象リストファイルでsnapshotログの収集先を再設定する必要があります。

snapshotログ収集先対象リストファイルは,次のディレクトリに格納されています。

  • Windowsの場合

    <製品のインストールディレクトリ>\manager\config

  • UNIXの場合

    /opt/Cosminexus/manager/config

snapshotログ収集先対象リストファイルの設定については,「3.3.3(3) snapshotログの収集先のカスタマイズ」を参照してください。

注意事項
  • 更新インストールの場合,snapshotログ収集先対象リストファイルはバージョンアップ時に上書きされ,既存のファイルはsnapshotlog.conf.bak,snapshotlog.2.conf.bak,およびsnapshotlog.param.conf.bakとして退避されます。

  • バージョンアップによってsnapshotログの収集先が変更されることがあります。snapshotログの収集対象を編集して運用している場合は,新たにインストールされたファイルに,以前に編集した項目を再編集してください。

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

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

影響を受けるもの

移行で実施する作業を行わないと,バージョンアップ前のsnapshotログ収集先対象リストファイルに対するユーザ変更が失われます。

(9) OutOfMemoryError発生時の運用管理エージェントの動作変更

変更内容

OutOfMemoryError発生時に保守調査用ログを保護したり,不安定な状態で運用管理エージェントが動作することを防いだりするため,08-50から運用管理エージェントの動作が変更になります。

  • 08-50より前の動作

    OutOfMemoryErrorが発生しても処理を続行する。

  • 08-50以降の動作

    OutOfMemoryErrorが発生したら強制終了する。

旧バージョンと同等の動作にするには,adminagentuser.cfgに次のオプションを追加してください。

add.jvm.arg=-XX:-HitachiOutOfMemoryAbort

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

運用管理エージェント用オプション定義ファイル(adminagentuser.cfg)でadd.jvm.arg=-XX:-HitachiOutOfMemoryAbortを指定してください。

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

デフォルト値(OutOfMemoryError発生時に強制終了)を使用してください。

影響を受けるもの

旧バージョンと同等の動作にする作業を行わないと,OutOfMemoryErrorが発生したら運用管理エージェントが強制終了されます。

(10) 負荷分散機のCookieスイッチング機能のモード変更

変更内容

08-53から,負荷分散機のCookieスイッチング機能で使用しているスイッチングモードが,ハッシュモードからインサートモードへ変更されます。

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

08-53より前に,Smart Composer機能でBIG-IP v9のCookieスイッチング機能を使用してシステムを構築している場合は,cmx_delete_systemコマンドを実行してシステムを削除してから,再度,cmx_build_systemコマンドを実行してシステムを構築してください。

また,08-53以降では,簡易構築定義ファイルの<server-id-rule>タグが非推奨となります。<server-id-rule>タグに値を設定しても無視されます。

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

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

影響を受けるもの

移行で実施する作業を行わないと,HTTPリクエストが特定のWebサーバに割り振られなくなる場合があります。

(11) 運用管理ポータルで操作対象とするリソースアダプタの変更

変更内容

08-70から,運用管理ポータルで操作対象とするリソースアダプタが,デプロイしたリソースアダプタに変更されます。運用管理ポータルでリソースアダプタを削除しても,そのデプロイ元のリソースは削除されません。

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

更新インストールした環境ではデプロイ元のリソースが残ります。この場合,サーバ管理コマンド(cjdeleteresコマンド)でデプロイ元のリソースを削除してください。

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

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

影響を受けるもの

移行で実施する作業を行わないと,デプロイ前リソースと同名のリソースアダプタのデプロイができません。

(12) Smart Composer機能でcmx_build_system(-sオプション指定)コマンド実行時の設定情報の配布に関する動作変更

変更内容

09-00以降,Smart Composer機能で-sオプションを指定してcmx_build_systemコマンドを実行した場合,各ホストのサーバに設定情報が配布されているかどうかに関係なく,常に設定情報を配布するように動作が変更になります。

  • 09-00より前の動作

    各ホストのサーバに設定情報が配布されていない論理サーバの設定情報を配布する。

  • 09-00以降の動作

    各ホストのサーバに設定情報が配布されているかどうかに関係なく,常に論理サーバの設定情報を配布する。

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

旧バージョンと同等の動作にするには,-sオプションを指定してcmx_build_systemコマンドを実行する際には,-sdオプションを指定して実行してください。

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

作業はありません。

影響を受けるもの

移行で実施する作業を行わないと各ホストのサーバに設定情報が配布されているかどうかに関係なく,常に論理サーバの設定情報が配布されるようになります。

(13) 運用管理エージェントおよびManagement Serverの自動起動の設定方法変更(UNIXの場合)

変更内容

UNIXの場合,09-00以降では,運用管理エージェントおよびManagement Serverの自動起動の設定方法が変更になります。

09-00より前に運用管理エージェントまたはManagement Serverで自動起動を設定している場合に,09-00以降の設定方法を使用するときは,次の手順で自動起動の設定方法を変更してください。なお,09-00より前の設定のまま自動起動を運用しても問題はありません。09-00より前の設定のまま自動起動を運用する場合は,09-00以降の自動起動の設定は有効にしないでください。

  • 運用管理エージェントの自動起動の設定変更手順

  1. 09-00より前の自動起動の設定を解除します。

    OSごとに説明します。

    AIXの場合

    rmitabコマンドを使用して,起動スクリプト(/opt/Cosminexus/manager/bin/adminagentctl start)を/etc/inittabファイルから削除します。

    (指定例)

    # rmitab adminagentctl

    AIX以外の場合

    rmコマンドを使用して,自動起動の設定時に作成したシンボリックリンクを削除します。

    (指定例)

    # rm /sbin/rc2.d/S800AdminAgent
  2. mngautorunコマンドを使用して,運用管理エージェントの自動起動を設定します。

    (指定例)

    mngautorun once agent
  • Management Serverの自動起動の設定変更手順

  1. 09-00より前の自動起動の設定を解除します。

    OSごとに説明します。

    AIXの場合

    rmitabコマンドを使用して,起動スクリプト(/opt/Cosminexus/manager/bin/mngsvrctl start)を,/etc/inittabファイルから削除します。

    (指定例)

    # rmitab mngsvrctl

    AIX以外の場合

    rmコマンドを使用して,自動起動の設定時に作成したシンボリックリンクを削除します。

    (指定例)

    # rm sbin/rc2.d/S900MngSvr
  2. mngautorunコマンドを使用して,Management Serverの自動起動を設定します。

    (指定例)

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

mngautorunコマンドを使用して自動起動設定してください。

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

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

影響を受けるもの

mngautorunコマンドによる運用管理エージェントおよびManagement Server の自動起動を有効した場合,09-00より前の自動起動の設定とmngautorunコマンドによる設定が有効となってしまうため,マシン起動時にどちらかの自動起動処理がエラーとなります。

(14) Management Serverのプロセス構成の変更

変更内容

09-00からManagement Serverのプロセス構成が変更になります。

  • 09-00より前のプロセス構成

    mngsvrctlプロセスおよびcjstartwebプロセス

  • 09-00以降のプロセス構成

    cjstartsvプロセス

Management Serverのプロセスや,Management Serverの起動時に出力されるメッセージを監視する運用をしている場合は,監視対象を変更する必要があります。

互換性を重視したシステムへ移行する場合に必要な作業
  • スクリプトファイルなどでmngsvrctlプロセスを監視している場合は,cjstartsvプロセスを監視するように変更してください。

  • Management Serverの起動失敗時にコンソールに出力されていたKEOS10112-Eメッセージが出力されないことがあります。mngsvrctlコマンドの戻り値が0以外の場合は,「<Managerのログ出力ディレクトリ>\cjmessage[n].log」,または「<Managerのログ出力ディレクトリ>/cjmessage[n].log」を参照してエラーの内容を確認してください。

    また,Management Serverの起動成功時にコンソールに出力されていたKEOS10110-Iメッセージが出力されません。Management Serverが起動されたかどうかは,次のどちらかの方法で確認してください。

  1. KEOS10019-Iメッセージが,次に示すManagement Serverのログに出力されているかどうかを確認する。

    Windowsの場合:<Managerのログ出力ディレクトリ>\mngsvr[n].logまたは<Managerのログ出力ディレクトリ>\message\mngmessage[n].log

    UNIXの場合:<Managerのログ出力ディレクトリ>/mngsvr[n].logまたは<Managerのログ出力ディレクトリ>/message/mngmessage[n].log

  2. mngsvrutilコマンドのサブコマンドcheckを使用して,Management Serverが稼働しているかどうかを確認する。

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

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

影響を受けるもの

監視システムなどでManagement Serverの稼働監視を行っている場合,不当に異常を検知したり,異常を検知できなかったりする場合があります。

(15) cmx_list_statusコマンドによるサービスユニットの稼働状況のステータス変更

変更内容

09-00から,Smart Composer機能でcmx_list_statusコマンド実行時に取得されるサービスユニットの稼働状況のステータスが,「unknown」から「no working」と「no ready」に変更となります。

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

監視システムなどで「unknown」を参照している場合は,「no working」または「no ready」のどちらかを参照するように変更してください。「no working」および「no ready」については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cmx_list_status(サービスユニット状況の表示)」を参照してください。

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

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

影響を受けるもの

監視システムなどでサービスユニットの稼働状況を監視している場合,不当に異常を検知したり,異常を検知できなかったりする場合があります。

(16) Management Serverの機能を使用した明示管理ヒープ機能の自動配置設定ファイルの設定方法の追加

変更内容

09-00から,明示管理ヒープ機能の自動配置設定ファイルを,Management Serverの機能を使用して設定できます。

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

09-00より前に設定した明示管理ヒープ機能の自動配置設定ファイルを使用する場合は次の作業を実施してください。

  1. 明示管理ヒープ機能の自動配置設定ファイルのリネームなどを実施し,<Application Serverのインストールディレクトリ>/CC/server/usrconf/ejb/<実サーバ名>/auto_explicit_memory.cfgに配置します。

  2. 明示管理ヒープ機能の自動配置設定ファイルを使用している論理J2EEサーバのusrconf.cfg内の-XX:HitachiAutoExplicitMemoryFileオプションに,<Application Serverのインストールディレクトリ>/CC/server/usrconf/ejb/<実サーバ名>/auto_explicit_memory.cfgを指定します。

  3. 運用管理ポータルにログインして,[運用管理ポータル]画面で「論理サーバの環境設定」をクリックします。

  4. 運用管理ドメインに構成定義された既存の論理J2EEサーバに対して,[サーバの設定読み込み]画面で「接続先ホストから設定を読み込みます」をチェックして[読み込み]ボタンをクリックします。

  5. 論理J2EEサーバの定義する画面で[適用]ボタンをクリックしたあと,[設定情報の配布]画面で再配布します。

参考

mngsvrutilコマンドでも接続先ホストからの読み込みを実行できます。mngsvrutilコマンドで実行する場合は,サブコマンド「reload」で引数に「env」を指定します。mngsvrutilコマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「7.3 mngsvrutilコマンドのサブコマンドの詳細」を参照してください。

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

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

影響を受けるもの

移行で実施する作業を行わないと明示管理ヒープ機能の自動配置設定ファイルの設定は従来どおり手動での運用となります。

(17) Management Serverの移行

変更内容

09-00以降,Management Serverが使用するWebコンテナが変更されます。

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

アプリケーションサーバ Version 8から移行する場合,Management Serverの移行コマンド(mngenvupdate)を実行します。移行方法については,「10.9 Management Serverの移行コマンドの実行」を参照してください。

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

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

影響を受けるもの

移行で実施する作業を行わないと,バージョンアップ前のManagement Server用オプション定義ファイル(mserver.cfg)への設定が引き継がれない場合があります。アプリケーション管理機能・統合ユーザ管理機能を使用していた場合は正常に動作しなくなります。

また,新規インストールの場合,Management Server用オプション定義ファイル(mserver.cfg)に指定できるキーがWebコンテナサーバ用オプション定義ファイル(usrconf.cfg)からJ2EEサーバ用オプション定義ファイル(usrconf.cfg)へ変更されたことを考慮して,mserver.cfgを設定する必要があります。

(18) WebPasswordJDBCLoginModule使用時のDB接続設定の見直し

変更内容

DABrokerを使用した接続が,サポート外になりました。08-70以降,データベース製品が提供するJDBCドライバを使用してください。なお,HiRDBの場合はType4ドライバを,Oracleの場合はThinドライバを使用してください。

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

J2EEサーバ用usrconf.cfgのadd.class.pathキーに,JDBCドライバの絶対パスを追加してください。また,JDBCドライバのマニュアルに従い,ua.confのcom.cosminexus.admin.auth.jdbc.driverパラメタにドライバのクラス名,com.cosminexus.admin.auth.jdbc.conn.urlパラメタに接続URLを指定してください。

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

作業はありません。

影響を受けるもの

移行で実施する作業を行わないとWebPasswordJDBCLoginModuleが使用できません。

(19) 証明書のインポート

変更内容

08-50以降では,cacerts証明書ファイルを同梱していません。証明書が必要な場合は,個別に入手してインポートする必要があります。

インポート手順の詳細は,次に示すJava SEのドキュメントを参照してください。

Windowsの場合

http://docs.oracle.com/javase/jp/6/technotes/tools/windows/keytool.html

UNIX(Linux,AIX)の場合

http://docs.oracle.com/javase/jp/6/technotes/tools/solaris/keytool.html

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

必要な証明書を入手してインポートしてください。

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

作業はありません。

影響を受けるもの

10.3.5(1) Java SEのバージョン

(20) DBConnector_SQLServer_CP.rarの非サポート

変更内容

09-00以降では08-70以前の「DBConnector_SQLServer_CP.rar」が非サポートになります。

「DBConnector_SQLServer2005_CP.rar」は08-70以前の「DBConnector_SQLServer_CP.rar」と互換性がないため,cjrarupdateコマンドによる自動での移行処理はできません。このため,手動で08-70以前の「DBConnector_SQLServer_CP.rar」の削除,「DBConnector_SQLServer2005_CP.rar」のインポートおよびプロパティ設定を実施する必要があります。

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

08-70以前の「DBConnector_SQLServer_CP.rar」の削除,「DBConnector_SQLServer2005_CP.rar」のインポートおよびプロパティ設定を実施してください。

注※ 08-70以前と09-50以降の「DBConnector_SQLServer_CP.rar」では一部設定できるプロパティが異なります。09-50以降で設定できるプロパティについては,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「4. リソースの設定で使用する属性ファイル」を参照してください。

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

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

影響を受けるもの

なし。

(21) DBConnector_SQLServer2005_CP.rarの名称変更

変更内容

09-00以前の「DBConnector_SQLServer2005_CP.rar」は,09-50以降では「DBConnector_SQLServer_CP.rar」に名称が変更になります。09-50以降の「DBConnector_SQLServer_CP.rar」は08-70以前の「DBConnector_SQLServer_CP.rar」と互換性がないため,cjrarupdateコマンドによる自動での移行処理はできません。このため,手動で08-70以前の「DBConnector_SQLServer_CP.rar」の削除,09-50以降の「DBConnector_SQLServer_CP.rar」のインポートおよびプロパティ設定を実施する必要があります。

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

08-70以前の「DBConnector_SQLServer_CP.rar」の削除,09-50以降の「DBConnector_SQLServer_CP.rar」のインポートおよびプロパティ設定を実施してください。

注※ 08-70以前と09-50以降の「DBConnector_SQLServer_CP.rar」では一部設定できるプロパティが異なります。09-50以降で設定できるプロパティについては,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「4. リソースの設定で使用する属性ファイル」を参照してください。

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

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

影響を受けるもの

なし。

(22) PRFトレースバックアップの設定変更

変更内容

09-00以降は,PRFデーモンの起動時,および停止時にPRFトレースをバックアップしなくなります。

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

09-00より前のバージョンのようにPRFデーモンをバックアップするには,cprfstartコマンドに-PrfNoBackUp 0オプションを指定してください。詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cprfstart(PRFデーモンの開始)」を参照してください。

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

作業はありません。

影響を受けるもの

なし。

(23) javax.servlet.http.HttpServletRequestインタフェースのgetSessionメソッドでスローされる例外の変更

変更内容

web.xmlに指定したエラーページ内で,データベースセッションフェイルオーバ機能の抑止によってデータベースセッションフェイルオーバ機能が無効となったリクエストに対して,javax.servlet.http.HttpServletRequestインタフェースのgetSession()メソッド,またはgetSession(boolean create)メソッドを呼び出した時にスローされる例外は,バージョンごとに異なります。バージョンごとにスローされる例外を次に示します。

  • 08-53以前

    com.hitachi.software.web.dbsfo.DatabaseAccessException

  • 08-70以降

    com.hitachi.software.web.dbsfo.SessionOperationException

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

08-70以降で08-53以前と同じ例外をスローさせる場合は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に次のパラメタを設定する必要があります。

パラメタ名

webserver.dbsfo.exception_type_backcompat

true

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

業務アプリケーションでキャッチする例外をcom.hitachi.software.web.dbsfo.DatabaseAccessExceptionからcom.hitachi.software.web.dbsfo.SessionOperationExceptionへ変更してください。

影響を受けるもの

なし。

(24) アプリケーションサーバで実行できるアプリケーションの構成の変更

変更内容

09-00以降では,J2EEアプリケーションの構成として,JavaEE 6.0のapplication.xmlと,EJB 3.1のejb-jar.xmlをサポートしました。

そのため,DDを省略した場合に適用されるバージョンが,次のとおり変更されます。

  • application.xmlを省略したJ2EEアプリケーションは,JavaEE 6と認識されます。

  • application.xmlを省略したJ2EEアプリケーションに含まれる,ejb-jar.xmlを省略したEJBコンポーネントはEJB 3.1と認識されます。

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

ejb-jar.xmlを省略したEJBコンポーネントをEJB 3.0として扱いたい場合は,JavaEE 5仕様に準じたapplication.xmlをJ2EEアプリケーションに含めるか,08-70以前でエクスポートした実行時情報付きのJ2EEアプリケーションをインポートしてください。

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

作業はありません。

影響を受けるもの

なし。

(25) アプリケーションサーバで実行できるWebアプリケーションの構成の変更

変更内容

09-00以降では,J2EEアプリケーションの構成として,Servlet 3.0のweb.xmlをサポートしました。

そのため,application.xmlを省略したJ2EEアプリケーションに含まれる,web.xmlを省略したWebアプリケーションはServlet 3.0と認識されます。

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

web.xmlを省略したWebアプリケーションをServlet 2.5として扱いたい場合は,JavaEE 5仕様に準じたapplication.xmlをJ2EEアプリケーションに含めるか,08-70以前でエクスポートした実行時情報付きのJ2EEアプリケーションをインポートしてください。

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

作業はありません。

影響を受けるもの

なし。

(26) Portable Global JNDI対応

変更内容

09-00以降では,Java EE 6の新機能であるPortable Global JNDIをサポートします。そのため,アプリケーションの開始時に各アプリケーションやアプリケーション内の各モジュールに対して,Portable Global JNDI名として使用する標準アプリケーション名(application-name)と標準モジュール名(module-name)が割り当てられ,ネーミングサービスに登録されます。また,EJBのリファレンスなど標準仕様でPortable Global JNDI名が決まっているものに対しても,自動的にPortable Global JNDI名でリソースが登録されます。

09-00以降でPortable Global JNDI名の登録機能が有効になっている場合,08-70以前の既存のアプリケーションで,標準アプリケーション名,標準モジュール名,Enterprise Bean名が重複する場合や,Portable Global JNDI名として使用できない文字が含まれている場合は,KDJE477xx-Wが出力される場合があります。KDJE477xx-Wが出力されていてもアプリケーションの開始は続行されますので,Portable Global JNDI名を使用していないアプリケーションの場合は問題ありません。

J2EEサーバ全体でPortable Global JNDI名の登録機能を無効にしたい場合は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に次のプロパティを設定する必要があります。

パラメタ名

ejbserver.jndi.global.enabled

false

更新インストール時,すでにセットアップされているJ2EEサーバに対しては,このプロパティが自動的に設定されます。

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

J2EEサーバ用usrconf.propertiesのejbserver.jndi.global.enabledプロパティにfalseを指定してください。

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

Portable Global JNDI機能を使ってアプリケーションを開発する場合は,J2EEサーバ用usrconf.propertiesのejbserver.jndi.global.enabledプロパティをデフォルト値(有効)で使用してください。アプリケーション開始時に警告メッセージが出力される場合は,メッセージに従い名前の重複を解消してください。

使わない場合はfalseを指定してください。

影響を受けるもの

互換機能を利用した場合は業務アプリケーション,およびユーザ運用への影響はありませんが,Portable Global JNDI機能を使ったアプリケーションをエンハンスできません。推奨機能を利用した場合,既存の業務アプリケーションが正常に動作しなくなることがあります。

(27) TP1インバウンド連携機能でのコネクション保持のサポート

変更内容

08-53以降のTP1インバウンド連携機能では,OpenTP1とのコネクションを保持できるようになりました。

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

TP1インバウンドアダプタで使用するConnector属性ファイルのrpc_close_after_sendプロパティに"true"を指定して,OpenTP1のrpc_close_after_send句に"Y"を指定してください。

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

TP1インバウンドアダプタで使用するConnector属性ファイルのrpc_close_after_sendプロパティに"false"を指定して,OpenTP1のrpc_close_after_send句を削除してください。

影響を受けるもの

推奨機能を使用することで,コネクションの接続と切断に伴うボトルネックを削減でき,通信効率を向上できます。

(28) TP1インバウンド連携機能での最大同時接続数のデフォルト値の変更

変更内容

08-53以降のTP1インバウンド連携機能では,RPC受信コネクションの最大同時接続数(Connector属性ファイルのmax_connectionsプロパティ)のデフォルト値が10から64に変更になりました。

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

デフォルト値(10)を使用している場合,移行後,設定値として10を設定してください。

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

最大同時接続数が64になります。関連機能の最大同時接続数を見直してください。

影響を受けるもの

なし

(29) TP1インバウンド連携機能で使用するスレッド数,ファイルディスクリプタ数,ポート番号の変更

変更内容

08-53以降のTP1インバウンド連携アダプタでは,使用するスレッド数,ファイルディスクリプタ数,およびポート番号が08-50と異なります。08-50から08-53以降のバージョンに移行する場合は,再度リソースを見積もり直してください。

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

再度,リソース見積もりを行ってください。

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

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

影響を受けるもの

なし

(30) データベースセッションフェイルオーバ機能での完全性保障モードの変更

変更内容

08-70以降のデータベースセッションフェイルオーバ機能では,完全性保障モードを無効にする機能をサポートしました。完全性保障モードを無効にすると,同一セッションIDを持つリクエスト処理を同時に実行できるようになります。

08-53以前は,完全性保障モードは常に有効でしたが,08-70以降ではデフォルトで無効になります。

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

簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に次のプロパティを設定する必要があります。

パラメタ名

webserver.dbsfo.integrity_mode.enabled

true

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

現状のシステムが,完全性保証モード「無効」が適用可能か確認してください。「無効」は,冗長化された複数のJ2EEサーバから同じセッションIDのグローバルセッション情報を同時に更新するような処理が発生しないことを前提としています。

「無効」への移行が可能な場合,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に次のプロパティを設定してください。

パラメタ名

webserver.dbsfo.integrity_mode.enabled

false

影響を受けるもの

なし。

(31) TP1インバウンド連携機能の同期点待ち受けポートの追加

変更内容

08-53以降のTP1インバウンド連携機能では,同期点待ち受けポートが追加になりました。デフォルトは23900です。

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

別の機能で23900を使用している場合,同期点待ち受けポートのポート番号を変更してください。また,複数のTP1インバウンドアダプタを使用している場合は,cjrarupdateコマンド実行後に,同期点待ち受けポートにそれぞれ別のポート番号を設定してください。

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

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

影響を受けるもの

なし。

(32) データベースセッションフェイルオーバ機能のデータベーステーブルの再作成

変更内容

08-70以降のデータベースセッションフェイルオーバ機能では,データベースのアプリケーション情報テーブルとセッション情報格納テーブルのテーブル構成が08-53以前のテーブル構成と異なります。

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

08-70以降のバージョンに移行する場合は,08-70以降のデータベースセッションフェイルオーバ機能が提供するテーブル削除用SQLを使用してテーブルを削除してから,テーブル作成用SQLを使用してテーブルを作成してください。

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

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

影響を受けるもの

なし。

(33) データベースセッションフェイルオーバ機能でのDB Connectorに設定するステートメントプールの数の変更

変更内容

08-70以降のデータベースセッションフェイルオーバ機能では,DB Connectorに設定するステートメントプールの数が変更となります。Connector属性ファイルに次のプロパティを設定してください。

プロパティ名

PreparedStatementPoolSize

30×J2EEサーバ内のデータベースセッションフェイルオーバ機能を使用するWebアプリケーション数

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

Connector属性ファイルに次のプロパティを設定してください。

プロパティ名

PreparedStatementPoolSize

30×J2EEサーバ内のデータベースセッションフェイルオーバ機能を使用するWebアプリケーション数

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

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

影響を受けるもの

なし。

(34) @EJBアノテーションのmappedName属性の仕様変更

変更内容

08-70以前では,@EJBアノテーションのmappedName属性は無視されていましたが,09-00以降では,mappedName属性へのGlobalJNDI名(Portable Global JNDI名,EJBの別名,物理名)の記述をサポートします。

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

08-70以前で動作していたアプリケーションで,mappedName属性の指定がある場合,mappedName属性を削除してください。mappedName属性が残っていると,09-00以降に移行したことで,従来無視されていたmappedName属性の値が有効になり,アプリケーションの動作が変わってしまうおそれがあります。

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

09-00以降の@EJBアノテーションのmappedName属性には,DI対象のEJBのPortable Global JNDI名,またはEJBの別名を指定できます。

影響を受けるもの

ユーザアプリケーション(@EJBのmappedName属性を指定していた場合だけ影響します)。

(35) Microsoft IIS 7.0,7.5の設定変更

変更内容

09-00以降のリダイレクタは,64bitアプリケーションになりました。

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

Microsoft IIS 7.0またはMicrosoft IIS 7.5を使用してWebサーバ連携する場合,Microsoft IISのアプリケーションプールの詳細設定で[32bitアプリケーションの有効化]にfalseを指定してください。

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

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

影響を受けるもの

なし。

(36) 明示管理ヒープ機能の自動配置機能で使用する設定ファイルの内容変更

変更内容

09-50以降では,明示管理ヒープ機能の自動配置機能で使用する設定ファイル(自動配置設定ファイル)で,Hibernateに関する設定項目が削除され,初期設定時の内容が変更になりました。

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

自動配置設定ファイルに次の内容を記述してください。記述方法については,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「7.13.2 自動配置設定ファイルを使った明示管理ヒープ機能の使用」を参照してください。

org.hibernate.cfg.Configuration.buildSessionFactory(), org.hibernate.impl.SessionFactoryImpl
推奨機能を使用したシステムへ移行する場合に必要な作業

Javaヒープ領域およびExplicitヒープ領域のメモリサイズを再チューニングしてください。チューニング方法については,マニュアル「アプリケーションサーバ システム設計ガイド」の「7. JavaVMのメモリチューニング」を参照してください。

影響を受けるもの

アプリケーションサーバとHibernateの両方を動作させていた場合に,09-50より前から移行すると,Javaヒープ領域およびExplicitヒープ領域の使用サイズが変化することがあります。

(37) Servlet 3.0を使用したアプリケーションのリロードに関する仕様の変更

変更内容

09-50より前では,Servlet 3.0を使用したアプリケーションで,次に示すメソッドを削除することで設定を解除した場合,リロードの際にその設定が反映されません。

  • SessionCookieConfig.setName(String name)

  • SessionCookieConfig.setDomain(String domain)

  • SessionCookieConfig.setPath(String path)

  • SessionCookieConfig.setComment(String comment)

  • SessionCookieConfig.setHttpOnly(boolean httpOnly)

  • SessionCookieConfig.setSecure(boolean secure)

  • SessionCookieConfig.setMaxAge(int maxAge)

  • ServletContext.setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes)

  • ServletContext.setInitParameter(String name, String value)

09-50以降では,リロードの際に設定が反映されるようになりました。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(38) サーバIDのデフォルト値の変更

変更内容

09-50以降,サーバIDのデフォルト値は64バイト固定です。サーバIDを明示的に指定するには,usrconf.propertiesに次のプロパティを指定してください。

  • webserver.session.server_id.value

  • webserver.container.server_id.value

usrconf.propertiesについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。

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

サーバIDがデフォルト値の場合,サーバIDを明示的に指定してください。

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

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

影響を受けるもの

サーバIDがデフォルト値の場合,セッションIDの文字列長が増加します。

セッションIDの長さによって問題が起こらないかどうかを確認してください。

(39) cjimportappコマンドの-aまたは-dオプション実行時の重複ディレクトリチェックの変更

変更内容

cjimportappコマンドで-aまたは-dオプションを指定して実行した際のディレクトリ重複チェックの仕様が,次のとおり変更となります。

09-00以前の場合

cjimportappコマンドで-aまたは-dオプションを指定したディレクトリと同じディレクトリを持つJ2EEアプリケーションがJ2EEサーバ内に存在する場合,KDJE42325-Eを出力してインポートに失敗します。

09-50以降の場合
  • cjimportappコマンドで-aまたは-dオプションを指定したディレクトリと同じディレクトリを持つJ2EEアプリケーションがJ2EEサーバ内に存在する場合,KDJE42325-Eを出力してインポートに失敗します。

  • cjimportappコマンドで-aまたは-dオプションを指定したディレクトリの上位ディレクトリを持つJ2EEアプリケーションがJ2EEサーバ内に存在する場合,KDJE42406-Eを出力してインポートに失敗します。

  • cjimportappコマンドで-aまたは-dオプションを指定したディレクトリの下位ディレクトリを持つJ2EEアプリケーションがJ2EEサーバ内に存在する場合,KDJE42410-Eを出力してインポートに失敗します。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(40) J2EEアプリケーション開始時のJavaのコンパイルの仕様

変更内容

J2EEアプリケーション開始時のJavaのコンパイルは,javacコマンドではなくJ2EEサーバプロセス内で行われるようになります。

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

J2EEサーバのヒープサイズの見積りを実施してください。

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

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

影響を受けるもの

なし。

(41) server.policy(J2EEサーバ用セキュリティポリシーファイル)への定義の追加

変更内容

新規インストールした環境へ移行する場合,server.policyに定義を追加する必要があります。

更新インストールの場合は,移行コマンドを実行すると自動で定義が追加されます。

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

バージョンごとに,追加が必要な定義を次に示します。なお,説明中の括弧内の数字は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.4 server.policy(J2EEサーバ用セキュリティポリシーファイル)」の記述例に関する説明を参照してください。

  • 08-50で追加された定義

    // (3)

    // Grant all permissions to anything loaded from the

    // EJB server itself

    grant codeBase "file:${cosminexus.home}/jaxws/lib/*" {

    permission java.security.AllPermission;

    };

  • 08-53で追加された定義

    // (6)

    // Grant permissions to resource adapters

    grant codeBase "file:${ejbserver.http.root}/ejb/${ejbserver.serverName}/rarjars/-" {

    // For Cosminexus SOA FTP Inbound Adapter

    permission java.lang.RuntimePermission "getClassLoader";

    permission java.lang.RuntimePermission "setContextClassLoader";

    permission java.lang.RuntimePermission "accessDeclaredMembers";

    };

  • 08-70で追加された定義

    // (7)

    // Grant permissions to JSP/Servlet

    grant codeBase "file:${ejbserver.http.root}/web/${ejbserver.serverName}/-" {

    permission javax.security.auth.AuthPermission "createLoginContext.{name}";

    permission javax.security.auth.AuthPermission "getSubject";

    // (9)

    // Grant permissions to custom login modules

    //

    grant codeBase "file:${cosminexus.home}/manager/modules/-" {

    permission java.io.FilePermission "<<ALL FILES>>", "read";

    permission javax.security.auth.AuthPermission "modifyPrincipals";

    permission javax.security.auth.AuthPermission "modifyPublicCredentials";

    };

  • 09-00で追加された定義

    // (3)

    // Grant all permissions to anything loaded from the

    // EJB server itself

    grant codeBase "file:${cosminexus.home}/jaxrs/lib/*" {

    permission java.security.AllPermission;

    };

    grant codeBase "file:${ejbserver.install.root}/weld/lib/*" {

    permission java.security.AllPermission;

    };

    grant codeBase "file:${cosminexus.home}/common/lib/*" {

    permission java.security.AllPermission;

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

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

影響を受けるもの

なし。

(42) Managementイベント発行用メッセージIDの追加

変更内容

Managementイベント発行用メッセージIDを追加しました。

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

追加されたメッセージIDでイベントが発行されないよう,追加されたメッセージIDの前に「-」(ハイフン)を付けたメッセージIDをManagementイベント発行用メッセージIDリストファイルに追加してください。

追加されたManagementイベント発行用メッセージIDをバージョンごとに示します。

表10‒18 追加されたManagementイベント発行用メッセージID

追加されたアプリケーションサーバのバージョン

機能

メッセージID

09-00

Webコンテナ単位の全体実行待ちリクエスト数の監視

KDJE53862-W

KDJE53863-I

KDJE53864-W

KDJE53865-I

KDJE53866-W

KDJE53867-I

KDJE53868-W

KDJE53869-I

Managementイベント発行用メッセージIDリストファイルについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「8.2.12 Managementイベント発行用メッセージIDリストファイル」を参照してください。

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

作業はありません。

影響を受けるもの

なし。

(43) MimeUtility APIの仕様変更

変更内容

javax.mail.internet.MimeUtilityクラスのencodeメソッドでエンコード方式に"base64"を用いた場合,Component Containerのバージョンおよび戻り値として得たOutputStreamに対するcloseメソッドの実行有無によって,末尾への改行("¥r¥n")付与の有無が次のように異なります。

Component Containerのバージョン

OutputStream.closeメソッドの実行の有無

末尾への改行付与

09-00以前

付与しない

付与しない

09-50以降

付与する

付与しない

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

MimeUtility.encodeメソッドの戻り値として得たOutputStreamの末尾に不要な改行が存在する場合があります。不要な改行が存在する場合は,改行文字を削除してください。

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

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

影響を受けるもの

以下の条件がすべて重なるアプリケーションに影響がありますので,上記の必要な作業を実施してください。

  • MimeUtility.encodeメソッドを使用してBase64エンコードを実行している。

  • 戻り値として得られるOutputStreamでcloseメソッドを実行している。

(44) RSA BSAFE SSL-Jの削除

変更内容

JDK 6をベースとしているアプリケーションサーバ Version 9と9.5では,TLSv1.2によるSSL/TLS通信を目的として,RSA BSAFE SSL-J(以降,SSL-J)をCosminexus Developer's Kit for Java(TM)に同梱していました。JDK 7以降ではTLSv1.2によるSSL/TLS通信を標準で提供していて,JDK 7以降をベースとしているこの製品のCosminexus Developer's Kit for Java(TM)では,SSL-Jを同梱していません。

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

アプリケーションサーバ Version 9と9.5で,同梱していたSSL-Jを使用していた場合,この製品にバージョンアップをする際には,SSL-Jを利用するために行っていた手順や設定を取り消してください。具体的には次の手順(a)〜(c)が必要となります。

(a) コピーしていたSSL-Jプロバイダのファイルの削除

次のファイルを拡張機能ディレクトリから削除します。

  • sslj.jar

  • cryptoj.jar

  • certj.jar

拡張機能ディレクトリ

<JDKインストールパス>/jre/lib/ext

(b) セキュリティプロパティファイルの変更取り消し

SSL-Jが提供しているセキュリティプロパイダを削除してください。その際,削除した行以降については,プロバイダの優先順位を表す番号を繰り上げるようにしてください。次に例を示します。

<取り消し前のセキュリティプロパティファイルの内容>

security.provider.1=com.rsa.jsafe.provider.JsafeJCE
security.provider.2=com.rsa.jsse.JsseProvider
security.provider.3=example.provider.
security.provider.4=…..
…..

<取り消し後のセキュリティプロパティファイルの内容>

security.provider.1=example.provider
security.provider.2=…..
…..

(c) ユーザプロパティファイルusrconf.propertiesの編集

SSL-JによるSSL/TLS通信機能を利用する場合に行った設定変更を元に戻します。この手順では,ユーザプロパティファイルusrconf.propertiesの編集を行います。使用しているusrconf.propertiesによって,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の次の項目を参照してください。

「usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」

「usrconf.properties(バッチサーバ用ユーザプロパティファイル)」

「usrconf.properties(Javaアプリケーション用ユーザプロパティファイル)」

「usrconf.properties(バッチアプリケーション用ユーザプロパティファイル)」

SSL-Jが同梱されていたCosminexus製品のusrconf.propertiesには,次のように,SSL-Jが提供しているSSL/TLS通信が有効となるような設定記載が行われています。

…..
# JDK SSL-J Settings
# If you want to enable SSL-J, please uncomment.
https.protocols=SSLv3,TLSv1,TLSv1.1,TLSv1.2
https.cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384…..
…..

SSL-Jを同梱していないこの製品では,これらの設定は不要ですので,usrconf.propertiesからこれらの行を削除してください。

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

作業はありません。

影響を受けるもの

アプリケーションサーバ Version 9と9.5で,同梱していたSSL-Jを使用していた場合に影響があります。

(45) Permanent領域からMetaspace領域への移行

変更内容

09-70では,ロードされたクラスなどの情報が格納される領域がMetaspace領域になりました。09-60まではロードされたクラスなどの情報が格納される領域はPermanent領域でしたが,09-70では廃止されました。

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

Permanent領域を09-70で使用することはできません。

それに伴い,-XX:PermSize,-XX:MaxPermSizeは09-70以降指定できません。

代わりに-XX:MetaspaceSize,-XX:MaxMetaspaceSizeを使用してください。

表10‒19 移行時の各オプションの設定

オプション名

設定値

-XX:MetaspaceSize

アプリケーションで必要なクラス情報の見積もり値(09-60までの-XX:PermSizeと同じ値)

-XX:MaxMetaspaceSize

アプリケーションで必要なクラス情報の見積もり値(09-60までの-XX:MaxPermSizeと同じ値)

-XX:CompressedClassSpaceSize

アプリケーションで必要なクラス情報の見積もり値(09-60までの-XX:MaxPermSizeと同じ値)

なお,Compressed Class Spaceは,圧縮オブジェクトポインタ機能が有効な場合,Metaspace領域内に作成される領域です。この領域に,Javaヒープ内のオブジェクトから参照されるクラス情報が配置されます。そして,それ以外のメソッド情報などがCompressed Class Space以外のMetaspace領域に配置されます。

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

Metaspace領域はロードされたクラス情報が格納される領域です。そのため,Metaspace領域のサイズの設定は,アプリケーションで必要なクラス情報のサイズを見積もり,その値を-XX:MetaspaceSizeや-XX:MaxMetaspaceSizeに設定することを推奨します。これは,09-60までのPermanent領域の設定の考え方と同じです。

アプリケーションで必要なクラス情報のサイズの見積もり値を正しく設定することで,Metaspace領域のOutOfMemoryErrorの発生を防ぎ,また-XX:MetaspaceSizeと-XX:MaxMetaspaceSizeを同じ値にすることでMetaspace領域に起因するFullGCの発生を抑止することができます。

影響を受けるもの

Permanent領域に関するオプションを使用している場合に影響を受けます。

(46) JDK内部のファイル構成変更

変更内容

JDK 9では,JDK内部のディレクトリとファイル構成が一部変更されています。主要な変更点を次に示します。

  • <Application Server のインストールディレクトリ>¥jdk¥下のディレクトリ構成の変更

    jreディレクトリの削除など,いくつかの変更点があります。詳細は次のWebページを参照してください。

    https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-BC5E3EDE-C1FB-4B60-AF7D-8D4D7FE79C84

  • rt.jarファイルとtools.jarファイルの削除

    rt.jarファイルとtools.jarファイルは削除されました。詳細は次のWebページを参照してください。

    https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-A78CC891-701D-4549-AA4E-B8DD90228B4B

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

変更内容に記載されているディレクトリまたはファイルに依存している設定や実装方式のアプリケーションの場合,設定または実装方式の変更が必要です。

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

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

影響を受けるもの

なし。

(47) 削除されたAPI/機能/オプション

変更内容

JDK 9で削除または変更されたAPI,機能,オプションについては次に示すWebページを参照し,JDK 9移行時に使用している項目がないかどうかを確認してください。

http://www.oracle.com/technetwork/java/javase/9-removed-features-3745614.html

https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-F7696E02-A1FB-4D5A-B1F2-89E7007D4096

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

変更内容に記載されているAPI,機能,オプションを使用している場合,設定または実装方式の変更が必要です。

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

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

影響を受けるもの

なし。

(48) バージョン文字列形式の変更

変更内容

JDK 9ではバージョン文字列のフォーマットが変更され,従来の”1.8.0”のようなフォーマットではなくなりました。JDK 9のバージョン文字列は”9”や”9.0.1”といったフォーマットになります。それに関連し,バージョン文字列に依存した,次のシステムプロパティのデフォルト値も変更されています。

  • java.version

  • java.specification.version

  • java.vm.specification.version

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

バージョン文字列または変更内容で示した3つのシステムプロパティに依存する設定や実装方式のアプリケーションの場合,設定または実装方式の変更が必要です。JDK 9のバージョン文字列フォーマットやシステムプロパティの詳細は,次のWebページを参照してください。

http://www.oracle.com/technetwork/java/javase/9-relnote-issues-3704069.html#JDK-8085822

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

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

影響を受けるもの

なし。

(49) 内部APIのカプセル化

変更内容

JSR 376「Java Platform Module System」の導入に伴い,一部の内部APIがカプセル化され,利用できなくなりました(このような内部APIは,JDK 8において非サポートとされていたものです)。そのため,そのような内部APIを使用したソースコードをJDK 9でコンパイルした場合,エラーや警告が発生するおそれがあります。

また,JDK 8以前のJDKを利用して作成したアプリケーションをJDK 9で実行させた場合でも同様に,カプセル化した内部APIを使用していると,エラーや警告が発生するおそれがあります。

詳細は次のWebページを参照してください。

http://www.oracle.com/technetwork/java/javase/9-relnote-issues-3704069.html#JDK-8142968

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

内部APIを使用している場合,設定または実装方式の変更が必要です。

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

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

影響を受けるもの

なし。

(50) -Xbootclasspathオプションと-Xbootclasspath/pオプションの削除

変更内容

JDK 9では,-Xbootclasspathオプションと-Xbootclasspath/pオプションは削除されました。一方,-Xbootclasspath/aオプションは削除されていません。ただし,これらのオプションは,旧バージョンを含め,削除されているかどうかに関係なく,アプリケーションサーバではサポートしていません。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(51) 推奨標準機構(Endorsed Standards Override Mechanism)の削除

変更内容

JDK 9では推奨標準機構(Endorsed Standards Override Mechanism)が削除され,java.endorsed.dirsシステムプロパティと<Application Serverのインストールディレクトリ>¥jdk¥lib¥endorsedディレクトリは使用できません。JavaVMの起動時,このシステムプロパティ指定またはディレクトリが存在する場合は,JDKの起動に失敗します。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(52) 拡張機能機構(Extensions Mechanism)の削除

変更内容

JDK 9では拡張標準機構(Extensions Mechanism)が削除され,java.ext.dirsシステムプロパティと<Application Serverのインストールディレクトリ>¥jdk¥lib¥extディレクトリは使用できません。JDKの起動時,このシステムプロパティ指定またはディレクトリが存在する場合は,JDKの起動に失敗します。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(53) システムクラスローダの継承関係の変更

変更内容

JDK 8以前のシステムクラスローダは,JDK内部実装としてjava.net.URLClassLoaderを継承していましたが,JDK 9のシステムクラスローダはjava.net.URLClassLoaderを継承していません。そのため,システムクラスローダがjava.net.URLClassLoaderを継承していることを前提としていないことを確認してください。

詳細は次のWebページを参照してください。

http://www.oracle.com/technetwork/java/javase/9-relnote-issues-3704069.html

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

システムクラスローダがjava.net.URLClassLoaderを継承していることを前提としている場合,実装方式の変更が必要です。

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

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

影響を受けるもの

なし。

(54) javahコマンドの削除

変更内容

javahコマンドはJDK 10で削除されました。javahコマンドの機能は,javacコマンドの-hオプションに移管されています。詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-8182758

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

javacコマンドの-hオプションを使用してください。

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

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

影響を受けるもの

なし。

(55) -Xprofオプションの削除

変更内容

JavaVMオプションである,-XprofオプションはJDK 10で削除されました。詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-8173715

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(56) java.io.FileInputStreamとjava.io.FileOuputStreamクラスのfinalizeメソッドの実装変更

変更内容

FileInputStreamクラスとFileOutputStreamクラスのfinalizeメソッドは,以前はcloseメソッドを呼び出していましたが,JDK 10以降ではcloseメソッドを呼び出しません。もし,これらクラスのfinalizeメソッドがcloseメソッドを直接呼び出すことを前提とした処理がある場合には,非互換性が発生するおそれがあります。その場合は,closeメソッドを明示的に呼び出すか,try-with-resouce構文を使用してリソースの解放をしてください。ただし,Application Serverを使用した場合は,互換性を考慮し,旧バージョンと同様にFileInputStreamクラスとFileOutputStreamクラスのfinalizeメソッドはcloseメソッドを呼び出す方式になります。詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-8080225

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(57) JMXエージェントのパスワード暗号化

変更内容

JMXエージェントを使用したリモート接続時,設定ファイル(jmxremote.password)に記載されたパスワードはハッシュ化された値で上書きされるようになりました。詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-5016517

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(58) Java EE向けモジュールとCORBAモジュールの削除

変更内容

次に示すJava EE向けモジュールとCORBAモジュールはJDK 11で削除されました。

  • java.xml.ws

  • java.xml.bind

  • java.activation

  • java.xml.ws.annotation

  • java.corba

  • java.transaction

  • java.se.ee

  • jdk.xml.ws

  • jdk.xml.bind

モジュールの削除に伴い,これらのモジュールに関連したコマンド群やシステムプロパティも削除されています。詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-8190378

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

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

変更内容

JDK11のクラスファイルバージョンは”55.0”です。クラスファイルバージョン”54.0”や”55.0”のクラスファイルをJDK9で動作させることはできません。

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

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

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

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

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

影響を受けるもの

なし。

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

変更内容

09-87のjavacコマンドでは,sourceオプション,targetオプションそれぞれに指定できる値を次に示します。

  • 「6」または「1.6」(非推奨。次バージョンで指定できなくなるおそれがあります。)

  • 「7」または「1.7」

  • 「8」または「1.8」

  • 「9」または「1.9」

09-80以降では「10」または「1.10」は指定できません。「10」または「1.10」を指定した場合の動作は保証しません。また,--releaseオプションも同様に,「10」を指定した場合の動作は保証しません。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(61) Javaプログラム実行中のシステムプロパティの変更

変更内容

Javaプログラム実行中,次に示すシステムプロパティ値を変更しても,その変更がjava.baseモジュール内のAPIの動作に反映されない場合があります。JavaVM初期化時の値が参照される方式になりました。

  • java.home

  • user.home

  • user.dir

  • user.name

詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-8066709

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(62) 3DES暗号スイートの無効化

変更内容

SSL/TLS通信で使用する3DES暗号スイートは,使用できなくなりました。

詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-8175075

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(63) runFinalizersOnExitメソッドの削除

変更内容

java.lang.Systemクラスとjava.lang.RuntimeクラスのrunFinalizersOnExitメソッドは,JDK 11で削除されました。runFinalizersOnExitメソッドを使用するとjava.lang.NoSuchMethodErrorがスローされます。

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

runFinalizersOnExitメソッドを使用している場合は,使用しない方式へプログラムを変更してください。

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

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

影響を受けるもの

なし。

(64) ThreadPoolExecutorとScheduledThreadPoolExecutorクラスのfinalizeメソッドの実装変更

変更内容

java.util.concurrent.ThreadPoolExecutorクラスと,そのサブクラスであるjava.util.concurrent.ScheduledThreadPoolExecutorクラスのfinalizeメソッドは,以前はshutdownメソッドを呼び出していましたが,JDK11以降ではshutdownメソッドを呼び出しません。もし,これらのクラスのfinalizeメソッドがshutdownメソッドを呼び出すことを前提とした処理がある場合には,非互換性が発生するおそれがあります。その場合は,shutdownメソッドを明示的に呼び出すようにしてください。

ただし,Application Serverを使用した場合は,互換性を考慮し,旧バージョンと同様にThreadPoolExecutorクラスとScheduledThreadPoolExecutorクラスのfinalizeメソッドはshutdownメソッドを呼び出す方式になります。これらのクラスのshutdownメソッドは複数回呼ばれても問題ないメソッドです。

また,Application Serverを使用する際,ThreadPoolExecutorクラスまたはScheduledThreadPoolExecutorクラスのサブクラスを作成していて,かつshutdownメソッドをオーバーライドしている場合,オーバーライドしたshutdownメソッドが複数回呼ばれるおそれがあります。オーバーライドするshutdownメソッドが複数回呼ばれても問題ないように実装してください。

詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-8190324

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(65) getAnnotationメソッド呼び出しで発生する例外の変更

変更内容

アノテーションに指定したクラスがクラスパスに存在しない場合に,そのアノテーションをjava.lang.ClassクラスのgetAnnotationメソッドで取得しようとすると,JDK10以前はjava.lang.ArrayStoreExceptionをスローしていました。JDK11以降から,同様の処理を実施してもjava.lang.ArrayStoreExceptionをスローしないで,getAnnotationメソッドで取得したアノテーションの値を読み込もうとしたタイミングで,java.lang.TypeNotPresentExceptionをスローするようになりました。もし,java.lang.ArrayStoreExceptionを前提とした処理がある場合には,非互換性が発生するおそれがあります。その場合は,java.lang.TypeNotPresentExceptionを明示的にキャッチするようにしてください。

ただし,Application Serverを使用した場合だけ,JDK10以前と同様にjava.lang.ArrayStoreExceptionをスローする方式になります。従って,java.lang.ArrayStoreExceptionを明示的にキャッチしていたプログラムで,java.lang.TypeNotPresentExceptionを処理するように変更する必要はありません。

詳細は次のWebページを参照してください。

https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-7183985

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(66) 日立拡張機能が提供するファイルの配置場所の変更

変更内容

jreディレクトリの削除に伴い,旧バージョンのjreディレクトリ内の,日立拡張機能が提供するコマンドまたはファイルの配置場所が変更されました。jreディレクトリの削除については「10.3.5(46) JDK内部のファイル構成変更」を参照してください。

配置場所が変更されたコマンドまたはファイルについて,旧バージョンである09-70の配置場所と09-80以降での配置場所を次の表に示します。

表10‒20 配置場所が変更されたコマンドまたはファイル一覧

項番

09-70

09-80以降

1

jdk¥jre¥bin¥eheapprof.exe

jdk¥bin¥eheapprof.exe

2

jdk¥jre¥bin¥javacore.exe

jdk¥bin¥javacore.exe

3

jdk¥jre¥bin¥javagc.exe

jdk¥bin¥javagc.exe

4

jdk¥jre¥bin¥jheapprof.exe

jdk¥bin¥jheapprof.exe

5

jdk¥jre¥bin¥jheapprofanalyzer.exe

jdk¥bin¥jheapprofanalyzer.exe

6

jdk¥jre¥bin¥hndlwrap2.dll

jdk¥bin¥hndlwrap2.dll

7

jdk¥jre¥lib¥explicitmemory¥sysexmemexcludeclass.cfg

jdk¥lib¥explicitmemory¥sysexmemexcludeclass.cfg

8

jdk¥jre¥bin¥car_tar_gz

jdk¥bin¥car_tar_gz

9

jdk¥jre¥bin¥car_tar_Z

jdk¥bin¥car_tar_Z

10

jdk¥jre¥bin¥javatrace

jdk¥bin¥javatrace

注1 jdkディレクトリは,<Application Server のインストールディレクトリ>¥jdkを指します。

注2 項番1〜5のファイル名文字列は,Linux環境では拡張子.exeが存在しない文字列です。

注3 項番6はWindows固有のファイル,項番8〜10はLinux環境固有のファイルです。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(67) 拡張verbosegc出力機能のログフォーマット変更(G1GCを使用する場合)

変更内容

ガベージファースト・コレクタ(G1GC)使用時,拡張verbosegc出力機能のログファイルフォーマットにGCIDという項目が追加されます。GCIDとは,GCごとに付与される一意の値です。G1GC以外のガーベージコレクション方式使用時には,拡張verbosegc出力機能のログファイルフォーマットに変更はありません。

GCIDは,次に示すGCを開始するタイミングでインクリメントされます。

  • Young GC

  • Concurrent Marking(CM)

  • Mixed GC

  • Full GC

G1GC使用時のGCIDの出力イメージを次に示します。各行末尾の太字の項目がGCIDの出力項目です。

G1GC使用時のGCID出力イメージ

[VG1]<Thu Sep 15 11:01:45 2016>[Young GC(initial-mark) 974K/1024K(131072K)->1044K/2048K(131072K), 0.0017569 secs]…[GCID: 1]
[VCM]<Thu Sep 15 11:01:45 2016>[Concurrent Cycle Start][User: 0.0000000 secs][Sys: 0.0000000 secs][GCID: 2]
[VCM]<Thu Sep 15 11:01:45 2016>[Concurrent Root Region Scan Start][User: 0.0000000 secs][Sys: 0.0000000 secs][GCID: 2]
[VCM]<Thu Sep 15 11:01:45 2016>[Concurrent Root Region Scan End][User: 0.0000000 secs][Sys: 0.0000000 secs][GCID: 2]
[VCM]<Thu Sep 15 11:01:45 2016>[Concurrent Mark Start][User: 0.0000000 secs][Sys: 0.0000000 secs][GCID: 2]
[VG1]<Thu Sep 15 11:01:45 2016>[Young GC 1022K/1024K(131072K)->1024K/1024K(131072K), 0.0015565 secs]…[GCID: 3]
[VCM]<Thu Sep 15 11:01:45 2016>[Concurrent Mark End][User: 0.0000000 secs][Sys: 0.0000000 secs][GCID: 2]
[VG1]<Thu Sep 15 11:01:45 2016>[Young GC 1024K/1024K(131072K)->1019K/1024K(157696K), 0.0021122 secs]…[GCID: 4]
[VG1]<Thu Sep 15 11:01:45 2016>[CM Remark 1024K/1024K(131072K)->1019K/1024K(157696K), 0.0007291 secs]…[GCID: 2]
[VG1]<Thu Sep 15 11:01:45 2016>[CM Cleanup 1024K/1024K(131072K)->1019K/2048K(157696K), 0.0002869 secs]…[GCID: 2]
[VCM]<Thu Sep 15 11:01:45 2016>[Concurrent Cycle End][User: 0.0000000 secs][Sys: 0.0000000 secs][GCID: 2]

…は省略を示します。

GIGC使用時の拡張verbosegc出力機能のログフォーマット(非CSV形式)を次に示します。

gc_idがGCごとに付与される一意の値を示します。フォーマット中のgc_id以外の出力項目(iddataなどの太字・斜字部分)の詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください

G1GC使用時の拡張verbosegc出力機能のログフォーマット(非CSV形式)

 [id]<date>[gc_kind gc_info, gc_time secs][Status:gc_status][G1GC::Eden: eden_info][G1GC::Survivor: survivor_info][G1GC::Tenured: tenured_info][G1GC::Humongous: humongous_info][G1GC::Free: free_info][G1GC::Perm: perm_info][Metaspace: metaspace_info][class space: class_space_info] [cause:cause_info][RegionSize: region_sizeK][Target: target_time secs][Predicted: predicted_time secs][TargetTenured: target_sizeK][Reclaimable: reclaimable_info][User: user_cpu secs][Sys: system_cpu secs][IM: jvm_alloc_sizeK, mmap_total_sizeK, malloc_total_sizeK][TC: thread_count][DOE: doe_alloc_sizeK, called_count][CCI: cc_used_sizeK, cc_max_sizeK, cc_infoK][GCID: gc_id]

上記のログフォーマットは1文です。

G1GC使用時の拡張verbosegc出力機能のログ出力例(非CSV形式)を次に示します。

G1GC使用時の拡張verbosegc出力機能のログ出力例(非CSV形式)

[VG1]<Wed Sep 14 13:48:48.563 2016>[Full GC 841216K/841728K(1344512K)->632147K/841728K(1344512K), 0.2313101 secs][Status:-][G1GC::Eden: 6144K(57344K)->0K(66560K)][G1GC::Survivor: 9216K->0K][G1GC::Tenured: 826368K->841728K][G1GC::Humongous: 0K->0K][G1GC::Free: 502784K->502784K][Metaspace: 6562K(6900K, 7040K)->6562K(6900K, 7040K)][class space: 662K(774K, 896K)->662K(774K, 896K)][cause:System.gc][RegionSize: 1024K][Target: 0.2000000 secs][Predicted: 0.0000000 secs][TargetTenured: 0K][Reclaimable: 0K(0.00%)][User: 0.2343750 secs][Sys: 0.0000000 secs][IM: 20459K, 21920K, 0K][TC: 34][DOE: 0K, 0][CCI: 2126K, 245760K, 7488K][GCID: 22]

GIGC使用時の拡張verbosegc出力機能のログフォーマット(CSV形式)を次に示します。

gc_idがGCごとに付与される一意の値を示します。フォーマット中のgc_id以外の出力項目(iddataなどの太字・斜字部分)の詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください

G1GC使用時の拡張verbosegc出力機能のログフォーマット(非CSV形式)

id,date,gc_kind,gc_info,gc_time,gc_status,eden_info,survivor_info,tenured_info,humongous_info,free_info,perm_info,metaspace_info,classspace_info,cause_info,region_size,target_time,predicted_time,target_size,reclaimable_info,user_cpu,system_cpu,jvm_alloc_size,mmap_total_size,malloc_total_size,thread_count,doe_alloc_size,called_count,cc_used_size,cc_max_size,cc_info,gc_id

上記format文は1文です。

G1GC使用時の拡張verbosegc出力機能のログ出力例(CSV形式)を次に示します。

G1GC使用時の拡張verbosegc出力機能のログ出力例(CSV形式)

VG1,Thu Oct 02 10:40:54.920 2016,Full GC,753,2048,8192,678,1024,8192,0.0064767,-,1024,2048,0,2048,0,0,1024,1024,0,0,6144,7168,3634,3634,4492,3634,3634,4492,356,356,388,356,356,388,1,1024,0.2000000,0.0000000,0,0,0.00,0.0000000,0.0000000,20459,21920,0,35,0,0,1171,245760,2496,3
互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(68) スレッドダンプ中のJavaVM内部メモリマップ情報の出力フォーマット変更

変更内容

スレッドダンプには,JavaVM 自身が確保しているメモリ領域情報として,JavaVM内部メモリマップ情報が出力されます。このJavaVM内部メモリマップ情報の出力フォーマットが変更されました。スレッドダンプやJavaVM内部メモリマップ情報の詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。

旧バージョンでは,JavaVM内部メモリマップ情報はJVM Internal Memory Mapの1項目としてすべて出力していましたが,09-80以降では,JavaVM内部メモリマップ情報をJVM Internal Memory MapとJVM Internal Memory Map (Large Block)の2項目に分けて出力します。JavaVM 自身が確保しているメモリ領域のうち,巨大なメモリを割り当てるためにJavaVMが確保したメモリ情報をJVM Internal Memory Map(Large Block)として出力し,それ以外の,通常の大きさのメモリを割り当てるためにJavaVMが確保したメモリ情報をJVM Internal Memory Mapとして出力します。

JavaVM内部メモリマップ情報の出力フォーマットと出力例を次に示します。

JavaVM内部メモリマップ情報の出力フォーマット

JVM Internal Memory Map
-----------------------
        <メモリ確保関数>  : address = <開始アドレス> - <終了アドレス> (size:<サイズ>)
…
 
JVM Internal Memory Map (Large Block)
-------------------------------------
        <メモリ確保関数>  : address = <開始アドレス> - <終了アドレス> (size:<サイズ>)
…

<メモリ確保関数>:mmap()かmalloc()のどちらかです。

<開始アドレス>:メモリ領域の開始アドレスが16進数で表示されます。

<終了アドレス>:メモリ領域の終了アドレスが16進数で表示されます。

<サイズ>:確保しているメモリ領域のサイズが出力されます(単位:バイト)。

JavaVM内部メモリマップ情報の出力例

JVM Internal Memory Map
-----------------------
        mmap()   : address = 0x000000ee20010000 - 0x000000ee20050000 (size:262144)
        mmap()   : address = 0x000000ee2d590000 - 0x000000ee2d5d0000 (size:262144)
        mmap()   : address = 0x000000ee33280000 - 0x000000ee332c0000 (size:262144)
 
JVM Internal Memory Map (Large Block)
-------------------------------------
        mmap()   : address = 0x000000ee2d500000 - 0x000000ee2d528000 (size:163840)
        mmap()   : address = 0x000000ee2d530000 - 0x000000ee2d58b000 (size:372736)
        mmap()   : address = 0x000000ee33200000 - 0x000000ee33276000 (size:483328)
互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(69) エラーリポートファイル中のメモリ情報の出力フォーマット変更

変更内容

エラーリポートファイルには,JavaVM 自身が確保しているメモリ領域情報として,メモリ情報が出力されます。このメモリ情報の出力フォーマットが変更されました。エラーリポートファイルやメモリ情報の詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。

09-80以降では,「10.3.5(68) スレッドダンプ中のJavaVM内部メモリマップ情報の出力フォーマット変更」のJVM Internal Memory Mapに対応するメモリ情報のあとに空行1行が挿入され,JVM Internal Memory Map (Large Block)に対応するメモリ情報を出力します。

メモリ情報の出力フォーマットと出力例を次に示します。

メモリ情報の出力フォーマット

JVM Internal Memory Map
-----------------------
        <メモリ確保関数>  : address = <開始アドレス> - <終了アドレス> (size:<サイズ>)
…
 
JVM Internal Memory Map (Large Block)
-------------------------------------
        <メモリ確保関数>  : address = <開始アドレス> - <終了アドレス> (size:<サイズ>)
…
        Heap Size  : <確保しているメモリサイズ>
        Alloc Size : <使用中のメモリサイズ>
        Free Size  : <未使用のメモリサイズ>

<メモリ確保関数>:mmap()かmalloc()のどちらかです。

<開始アドレス>:メモリ領域の開始アドレスが16進数で表示されます。

<終了アドレス>:メモリ領域の終了アドレスが16進数で表示されます。

各種メモリサイズの単位はバイトです。

メモリ情報の出力例

Memory:
        mmap()   : address = 0x000000ca0d380000 - 0x000000ca0d400000 (size:524288)
        mmap()   : address = 0x000000ca136d0000 - 0x000000ca13710000 (size:262144)
        mmap()   : address = 0x000000ca13d10000 - 0x000000ca13dd0000 (size:786432)
 
        mmap()   : address = 0x000000ca0d270000 - 0x000000ca0d298000 (size:163840)
        mmap()   : address = 0x000000ca0d2a0000 - 0x000000ca0d2fb000 (size:372736)
        mmap()   : address = 0x000000ca0d300000 - 0x000000ca0d376000 (size:483328)
 
        Heap Size  : 3919872
        Alloc Size : 3302992
        Free Size  : 616880
互換性を重視したシステムへ移行する場合に必要な作業

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(70) インストーラ

変更内容

更新インストールする前のバージョンが09-70と09-80以降では,更新インストール時に退避するファイルの退避場所と退避後のファイル名が異なります。

10.3.5(71) 更新インストール時に退避するファイルと退避先」で,09-70と09-80以降のインストール時の動作の違いについて説明します。

(71) 更新インストール時に退避するファイルと退避先

変更内容

更新インストールする前のバージョンが09-70と09-80以降では,更新インストール時に退避するファイルの退避場所と退避後のファイル名が異なります。

更新インストールする前のバージョンが09-70以前の場合

09-80以降のインストーラでは,<Application Serverのインストールディレクトリ>¥jdk¥jre_バージョン番号_日付時刻¥下にファイルを退避します。また,ファイル名はインストール前のファイル名のままとなります。

2017年7月10日18:02:02に09-60から09-80に更新インストールした場合の例を次の表に示します。

表10‒21 09-60から09-80に更新インストールした場合の例

退避対象ファイル

退避後のファイルパス

jdk¥jre¥lib¥security¥cacerts

jdk¥jre_0960_20170710180202¥lib¥security¥cacerts

jdk¥jre¥lib¥logging.properties

jdk¥jre_0960_20170710180202¥lib¥logging.properties

jdk¥jre¥lib¥net.properties

jdk¥jre_0960_20170710180202¥lib¥net.properties

jdk¥jre¥lib¥sound.properties

jdk¥jre_0960_20170710180202¥lib¥sound.properties

jdk¥jre¥lib¥management¥jmxremote.access

jdk¥jre_0960_20170710180202¥lib¥management¥jmxremote.access

jdk¥jre¥lib¥management¥management.properties

jdk¥jre_0960_20170710180202¥lib¥management¥management.properties

jdk¥jre¥lib¥security¥java.policy

jdk¥jre_0960_20170710180202¥lib¥security¥java.policy

jdk¥jre¥lib¥security¥java.security

jdk¥jre_0960_20170710180202¥lib¥security¥java.security

jdkディレクトリは,<Application Server のインストールディレクトリ>¥jdkを指します。

更新インストールする前のバージョンが09-80以降の場合

退避したファイルの別名(ファイル名_バージョン番号_日付時刻)の命名規則に変更はなく,同じディレクトリ内に別名ファイルとして退避します。

09-80以降のインストーラが退避する対象ファイルを次に示します。

  • jdk¥lib¥security¥cacerts

  • jdk¥conf¥logging.properties

  • jdk¥conf¥net.properties

  • jdk¥conf¥sound.properties

  • jdk¥conf¥management¥jmxremote.access

  • jdk¥conf¥management¥management.properties

  • jdk¥conf¥security¥java.policy

  • jdk¥conf¥security¥java.security

jdkディレクトリは,<Application Server のインストールディレクトリ>¥jdkを指します。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(72) クラスライブラリのスタックトレース出力オプションの対象となるAPIの変更

変更内容

次に示すAPIはOracle社製JDK 11で削除されたため,クラスライブラリのスタックトレース出力オプション(-XX:[+|-]HitachiJavaClassLibTrace)を有効にした際,トレース対象となるAPIではなくなりました。

  • java.lang.System.runFinalizersOnExit

  • java.lang.Runtime.runFinalizersOnExit

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(73) G1GCの処理変更に伴うJavaVMログファイルの出力形式変更

変更内容

JDK9(09-80)以前では,拡張verbosegc機能とG1GCの両方を有効にした場合,G1GCのConcurrent Marking処理中にConcurrent Cleanupが実施されると,JavaVMログファイルにはVG1ログのcm_event欄にConcurrent Cleanup Start(またはEnd)が出力されました。JDK11(09-87)では,Concurrent Cleanupが削除されたため,VG1ログのcm_event欄には[Concurrent Cleanup Start(またはEnd)が出力されなくなります。

拡張verbosegc情報出力オプション,JavaVMログファイルの出力形式については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。

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

作業はありません。

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

作業はありません。

影響を受けるもの

なし。

(74) StackOverflowError

変更内容

AIX環境では,次に示す処理でスタック領域が枯渇すると,java.lang.StackOverflowError例外がスローされないでJavaプロセスが異常終了する場合があります。

  • cjstartsvコマンド実行もしくはManagement Serverによる,J2EEサーバの起動処理

  • cjstartwebコマンド実行もしくはManagement Serverによる, Webコンテナサーバの起動処理

  • cjclstartapコマンド実行時,Javaアプリケーションのメインスレッド 上で行われる処理

この時,次のメッセージを出力してJavaプロセスが終了します。

  • java.lang.StackOverflowError occurred in primordial thread.

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

OSのスタック領域の最大サイズの設定値と-Xssオプション(デフォルト:1MB)に設定する値を大きくして,スタック領域が枯渇しないようにしてください。この際,OSのスタック領域の最大サイズには,-Xssオプション値以上の値を設定してください。

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

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

影響を受けるもの

なし。