IJServerの移行について、以下を説明します。
バックアップ/リストアについて
Interstage 8.0以前に作成したIJServerの資産をリストアした場合、そのIJServerは運用できません。IJServerを削除し、再度作成し直してください。
V8.0互換モードのIJServerは運用できません。IJServerを削除し、再度作成し直してください。
V10からセキュリティレベルを上げました。V9以前の資産を利用している場合、セキュリティレベルは低いままになります。セキュリティレベルを上げるためには、パスワードを設定しているJDBCデータソース、connectorの定義をInterstage管理コンソールまたはisj2eeadminコマンドで更新する必要があります。
リトライカウントリセット契機の変更について
IJServerのアプリケーション異常終了した場合のリトライカウントのリセット時間は、Interstage 8.0までは、以下のIJServerタイプでは設定できませんでしたが、Interstage V9.0以降では、以下のIJServerタイプでも設定可能になりました。
EJBアプリケーションのみ運用するIJServer
WebアプリケーションとEJBアプリケーションを別JavaVMで運用するIJServerのEJBアプリケーション運用
上記の場合、従来の監視方式では、EJBアプリケーションへのビジネスロジック(Remoteインタフェース)へアクセスする前に、必ずHomeインタフェースメソッド(初期処理)実行が正常終了した時点でリトライカウントがクリアされていましたが、Interstage V9.0以降では、リトライカウントリセット時間で指定した時間が経過すると、リトライカウントがリセットされます。
リトライカウントリセット時間はInterstage管理コンソールまたはisj2eeadminコマンドを使用して定義変更が可能です。必要に応じて変更を行ってください。
Interstage管理コンソールの場合
以下の画面の「リトライカウントリセット時間」の値を変更してください。
[ワークユニット] > [IJServer名] > [環境設定]
isj2eeadminコマンドの場合
IJServer定義ファイルの以下の項目の値を変更してください。
IJServer > Common > RetryCountResetTime
XMLパーサの設定について
Interstage 8.0までは、Crimsonが配備時のXMLパーサとして使用されていました。
Interstage V9.0以降では、IJServerの環境設定で指定したXMLパーサが、配備時のXMLパーサとして使用されるようになりました。
XMLパーサによりサポートしている文字エンコーディングが異なるため、IJServerの環境設定で指定したXMLパーサが、deployment descriptorを記述している文字エンコーディングをサポートしているか確認してください。
なお、従来通りにCrimsonを使用する場合は、IJServerの環境設定でCrimsonが有効となるように設定してください。
また、Webサービスを利用する場合、JAXP1.2以上をサポートしているXMLパーサを指定する必要があります。
Interstage 8.0までは、IJServerの環境設定で「コンテナのWebサービス機能」の定義を「有効」に設定している場合に「使用するXMLパーサの種別」の「その他」にJAXP1.2をサポートしていないXMLパーサ指定してもチェックが行われていませんでしたが、Interstage V9.0以降では、IJServerの環境設定でチェックするように改善されました。
Webサービスを利用する場合は、JAXP1.2以上をサポートしてるXMLパーサを使用するように設定してください。
なお、デフォルトではIJServerの環境設定の「コンテナのWebサービス機能」は「有効」に設定されています。Webサービスを利用しない場合は、この設定を「無効」にすることで、JAXP1.2をサポートしていないXMLパーサを使用することができます。
配備時に使用されるXMLパーサについては、「3.5.1 配備に必要なXMLパーサの設定」を参照してください。
Javaバージョンについて
Interstage 8.0以前に作成したIJServer、またはV8.0互換モードのIJServerから移行する場合、動作するJavaのバージョンが変更となります。JDK/JRE6で動作するようになります。
IJServerのファイル構成について
Interstage V7.0以降、J2EEアプリケーションの配備後の管理単位が、アプリケーション単位からモジュール単位に変更されました。
この変更に伴いIJServerのファイル構成が変更されました。
IJServerのファイル構成については「2.2.3 IJServerのファイル構成」を参照してください。
[IJServerディレクトリ]/commonについて
Interstage V7.0以降、EARファイル内のWARファイル、ejb-jarファイル、RARファイル以外の資源の展開先が、以下のように変更されました。
| Interstage V6.0以前 | Interstage V7.0以降 |
---|---|---|
仕様: | [IJServerディレクトリ]/common以下 | [IJServer]ディレクトリ]/apps/[アプリケーション名]以下 |
影響: | IJServerの起動時にクラスパスに設定される | クラスパスに設定されない |
Interstage V6.0以前にcommon直下に保管していたJARファイルを、本バージョン・レベルで使用する場合は、以下のいずれかの対応を行う必要があります。
マニフェストクラスパスを使用する
EARファイル内のSharedディレクトリにJARファイルを保管する
[IJServerディレクトリ]/SharedディレクトリにJARファイルを保管する
ワークユニットのクラスパスに設定する
ただし、J2EEの仕様に準拠したEARファイルの作成を行っている場合はマニフェストクラスパスが指定されていますので、上記の対応は不要です。
IJServerに対するconnectorの配備について
Interstage V6.0ではIJServerにconnectorを配備した場合にも、システム全体で一意な資産として管理され、各IJServerで参照可能でした。
Interstage V7.0以降ではIJServerに配備したconnectorは、IJServer内で管理され、そのIJServer内でのみ参照可能となりました。
Interstage管理コンソールで、[リソース] > [connector]で配備されたconnectorとIJServerに配備されたconnectorが重複した場合は、IJServerのconnectorが優先されます。
名前変換機能について
Interstage V6.0でのWebアプリケーション、およびEJBアプリケーションの名前変換は、IJServer単位での設定となっていました。
Interstage V7.0以降ではモジュール単位での設定に変更されました。設定はInterstage管理コンソールの各モジュールの画面から行うことが可能です。
これにともない、配備時にIJServer単位の名前変換定義の更新は行われないため、Interstage V6.0では出力されていた下記のメッセージは配備時に出力されなくなりますが、名前変換定義は有効になっています。
IS: 情報: is40902: 名前変換定義を更新しました
Interstage管理コンソールを使用しない場合の設定方法については、「4.11 名前変換機能」を参照してください。
名前変換定義で参照名を重複して定義した場合について
名前変換定義は参照名を重複して定義することが可能ですが、Interstage V9.0.0以前では重複定義された場合にどの定義値を有効にするか明確にしていませんでした。
例
重複定義の例 (jdbc/DataSourceが重複している)
<res-entry> <res-ref-name>jdbc/DataSource</res-ref-name> ★ 参照名が重複している <datasource-name>DS1</datasource-name> </res-entry> <res-entry> <res-ref-name>jdbc/DataSource</res-ref-name> <datasource-name>DS2</datasource-name> </res-entry> <res-entry> <res-ref-name>jdbc/DataSource</res-ref-name> <datasource-name>DS3</datasource-name> </res-entry>
Interstage V9.0.0以前は、以下のように各モジュールにより有効になる定義値が統一されていませんでした。
Interstage V9.0.1/V9.1以降では重複定義された場合、最後の定義値が有効になります(例ではDS3が有効)。
| V9.0.0以前 | V9.0.1/V9.1以降 | |
---|---|---|---|
定義時 | 管理コンソール | 最後の定義値が有効 | 最後の定義値が有効 |
実行時 | J2EEクライアント | 最初の定義値が有効 | 最後の定義値が有効 |
Webアプリケーション | 最初の定義値が有効 | 最後の定義値が有効 | |
EJBアプリケーション | 最後の定義値が有効 | 最後の定義値が有効 |
名前変換を行うアプリケーションがJ2EEクライアントまたはWebアプリケーションの場合、有効になる定義値が変更になることがあります。従来通りに動作させたい場合は、以下のオプションを設定してください。
定義場所 | JavaVMオプション |
定義名 | com.fujitsu.interstage.j2ee.jndi.EbeDef_CheckOrder_FromHead |
定義値 | true |
記述例 | -Dcom.fujitsu.interstage.j2ee.jndi.EbeDef_CheckOrder_FromHead=true |
意味 | J2EEクライアントアプリケーションまたはWebアプリケーションで名前変換定義に定義した値は先頭に定義した値が有効になります。 |
Interstage Application Server V5.x以前から移行する場合
J2EEアプリケーションをInterstage Application Server V5.x(Interstage V5.x)以前のバージョンから移行する場合には、J2EEアプリケーションをIJServerに配備する必要があります。
Interstage管理コンソールの[ワークユニット] > [新規作成]タブ、または、isj2eeadminコマンドを使用して、IJServerワークユニットを作成してください。そのあと、「ワークユニット名」 > [配備]タブで配備を行います。
Interstage管理コンソールの詳細については、Interstage管理コンソールのヘルプを参照してください。
isj2eeadminコマンドについては、「リファレンスマニュアル(コマンド編)」の「isj2eeadminコマンド」を参照してください。
IJServerのクラスパス自動設定
IJServerのクラスパスは内部的に自動的に設定されます。
CORBAアプリケーションのライブラリとしてはプレインストール型Javaライブラリがクラスパスに常に設定され、Portable-ORB用のライブラリは使用できませんが、V5.1以前のServletサービスでPortable-ORB用のライブラリで動作させていたアプリケーションも、Interstage V6.0以降のIJServerでそのまま動作させることができます。
CORBAサービスの環境定義を変更する場合にはプレインストール型の設定を変更してください。
以下のクラスパスは、V9.0以降のIJServerでは自動設定されません。
JDKのインストールディレクトリ\lib\tools.jar
JDKのインストールディレクトリ/lib/tools.jar
アプリケーションで必要な場合は、「2.3.1 クラスローダの構成」および「2.3.4 IJServerで使用するクラスの設定について」を参照して設定を行ってください。
配備解除に失敗した場合について
Interstage Application Server/Interstage Web Server V9.0以降では、配備解除の際にファイルの削除に失敗した場合、手動でファイルの削除を行う必要があります。
配備対象モジュールのファイルのみ残った状態ではモジュールはロードされないため、IJServerの運用に影響を及ぼしませんが、同一モジュールの再配備を行った場合に、モジュールの配備先に不明なファイルが存在することになり、再度削除を促すためのメッセージが出力され、配備処理がエラーとなります。このような場合、不要なファイルを削除してから、配備処理を行ってください。
クラスのオートリロード機能
Interstage Application Server 8.0までは、クラスのオートリロード機能はモジュール(EAR/WAR/ejb-jar)単位での設定でした。
Interstage Application Server/Interstage Web Server V9.0以降では、設定はIJServer単位に変更されています。個々のモジュールごとに設定を行う必要はありません。
モジュールによりオートリロード機能の設定を切り替える必要がある場合には、モジュールを別のIJServerに配備し、各IJServerで必要であればオートリロードの設定を行ってください。
また、クラスローダの分離の設定に「分離しない」を選択している場合、Interstage 8.0までのIJServerではWebアプリケーション(WAR)のみオートリロード機能が使用可能でしたが、Interstage V9.0以降では、オートリロード機能は使用できません。
他の「クラスローダの分離」の設定とするか、またはモジュールを別のIJServerに配備し、各IJServerで必要であればオートリロードの設定を行ってください。
クラスローダのトレース機能
Interstage Application Server 8.0までは、クラスローダのトレース機能の設定は、以下で設定可能でした。
Interstage管理コンソール
[ワークユニット] > 「ワークユニット名」 > [環境設定]タブ > [共通定義] > [クラスローダのトレース情報の出力]
isj2eeadminコマンドのIJServer定義ファイル
IJServerタグ/ClassLoaderタグ/Traceタグ
Interstage Application Server/Interstage Web Server V9.0以降でトレース情報を出力するには、以下でJavaVMオプションを設定します。
Interstage管理コンソール
[ワークユニット] > 「ワークユニット名」 > [環境設定]タブ > [ワークユニット設定] > [JavaVMオプション]
isj2eeadminコマンドのIJServer定義ファイル
IJServerタグ/ClassLoaderタグ/JavaCommandOptionsタグ
指定値: -Dcom.fujitsu.interstage.j2ee.ijserver.loader.trace=true
配備時に指定するモジュール名について
Interstage 8.0までは、モジュール名の末尾にピリオドを指定した場合、配備資源の展開が不正なディレクトリに行われることがありました。
Interstage V9.0以降では、モジュール名の末尾にピリオドを指定した場合、配備時にエラーとなり、DEP1833のメッセージが出力されます。
Interstage V9.0以降で配備を行う場合、モジュール名の末尾には、ピリオド以外の文字を指定してください。
モジュール名の詳細については、Interstage管理コンソールのヘルプの配備を参照してください。
なお、モジュール名の末尾にピリオドが指定されたモジュールが配備されているInterstage 8.0以前のIJServerをバックアップ、およびリストアにより本バージョンレベルに移行することは可能です。