Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(EJBコンテナ)


3.7.3 ダイナミッククラスローディング

RMI-IIOPスタブをクラスパスに指定しないで,EJBクライアントアプリケーションを開始します。EJBクライアントアプリケーションがEnterprise Beanを呼び出したときにRMI-IIOPスタブおよびRMI-IIOPインタフェースが自動的に読み込まれます。

RMI-IIOPスタブのダイナミッククラスローディングを利用する場合の手順を示します。

  1. 簡易構築定義ファイルを編集します。

    簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,ejbserver.DynamicStubLoading.Enabledパラメタで「true」を指定します。

  2. 該当するJ2EEサーバを再開始します。

    J2EEサーバを開始します。J2EEアプリケーションが開始済みの場合は,一度停止してから再開始してください。

    注意事項

    ダイナミッククラスローディング使用上の注意事項を次に示します。

    • ダイナミッククラスローディングを使用する場合,同じJ2EEサーバ内で,同じパッケージ名称,インタフェース名称のEnterprise Beanを持つJ2EEアプリケーションを複数開始できません。なお,インタフェースの継承元となる親クラス名称が同じ場合もJ2EEアプリケーションを複数開始できません。ここでの継承元となる親クラスとは,ユーザが作成するクラスであり,J2SEやJ2EEが提供するクラスではありません。

    • クライアントプログラムのクラスパスにスタブを指定していない場合,シリアライズされたEnterprise BeanオブジェクトのHandle(javax.ejb.Handle)を復元できません。

    • CTMのグローバルCORBAネーミングサービスをルックアップする場合には,ダイナミッククラスローディング機能は使用できません。

    • cjstartsvコマンドに-nosecurityオプションを指定してJ2EEサーバを起動した場合,J2EEサーバ上で動作するJ2EEアプリケーションがEJBクライアントとして動作するとき,ダイナミッククラスローディングは使用できません。