Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第1部 J2EE共通編> 第2章 J2EEアプリケーションの設計> 2.3 クラスローダ

2.3.2 クラスローダの分離

 Interstageのデフォルトの設定では、EAR間でクラスローダが分離されます。
 クラスローダの分離はアプリケーション間の参照関係やアプリケーションの活性変更に影響があります。
 ここでは、クラスローダの分離をカスタマイズする機能について説明します。

■設定方法

 クラスローダの分離方法は、Interstage管理コンソールを使用して、以下のどちらかの方法で設定します。

 また、isj2eeadminコマンドで設定することも可能です。詳細は、“リファレンスマニュアル(コマンド編)”を参照してください。

 想定する設定パターンは下表のようになります。

設定値

設定パターン

EAR間で分離 (デフォルト値)

EARを作成しないでejb-jarを個々に配備している場合に使用。

すべて分離

EARを作成してアプリケーションを配備している場合に使用。

分離しない

EAR間でアプリケーションを参照している場合や、システムクラスローダでEJBアプリケーションやconnectorをロードする場合に使用。
V6とクラスローダの構成が同じV6互換モード。
HotDeployは使用しない、かつInterstageV6で作成したアプリケーションを移行する場合に使用。(または、EAR間で分離、すべて分離では動作しないアプリケーションの場合)

■クラスローダの分離パターン

◆EAR間で分離

 “EAR間で分離”を選択した場合、EARの配備では、下図のようにEAR間でクラスローダが分離されます。
 ejb-jar、WARの配備では、クラスローダは配備単位で分離されません。
 この場合、J2EEアプリケーションの活性変更は点線で囲まれた単位で可能となります。

◆すべて分離

 “すべて分離”を選択した場合、下図のように配備単位でクラスローダが分離されます。
 この場合、J2EEアプリケーションの活性変更は点線で囲まれた単位で可能となりますが、EJBアプリケーションEJB-JAR5、EJB-JAR6の相互参照およびWebアプリケーションWAR3、WAR4からEJBアプリケーションの参照はできません。そのため、異なるアプリケーションで同じパッケージ名、クラス名のクラスを使用することができるようになります。

◆分離しない

 “分離しない”を選択した場合、下図のように、Webアプリケーション以外のクラスはすべて“システムクラスローダ”でロードされます。
 この場合、J2EEアプリケーションの活性変更はWARファイルを配備したWebアプリケーションのみが対象となります(下図の点線で囲まれた個所)。
 アプリケーション間の参照はEJBアプリケーションがお互いのクラスを参照することができます。また、WebアプリケーションからすべてのEJBアプリケーションのクラスを参照することができます。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED