2.8.1 キャッシングの流れ
次の図に示すような流れで,ネーミングはキャッシングされます。
キャッシングの流れを説明します。この流れでは,同じJ2EEサーバ上の二つのJ2EEアプリケーションから,同じ名前「Count」でEJBホームオブジェクトのリファレンスをルックアップします。1.〜5.がJ2EEアプリケーション1から実行される処理,6.〜9.がJ2EEアプリケーション2から実行される処理です。
-
J2EEアプリケーション1が,JNDIのjavax.naming.InitialContextクラスのインスタンスを生成します。
-
J2EEアプリケーション1が,javax.naming.InitialContextクラスのインスタンスに対して,EJBホームオブジェクトリファレンスの検索(ルックアップ)を要求します。このとき,名前に「Count」を指定します。
-
要求を受けたネーミング管理機能が,CORBAネーミングサービスの名前空間からEJBホームオブジェクトリファレンスを検索します。
-
ネーミング管理機能は,検索結果として,EJBホームオブジェクトのリファレンスを取得します。
-
ネーミング管理機能が,取得したEJBホームオブジェクトのリファレンスをキャッシュに保存します。
-
同じプロセス上にあるJ2EEアプリケーション2が,JNDIのjavax.naming.InitialContextクラスのインスタンスを生成します。
-
J2EEアプリケーション2が,javax.naming.InitialContextクラスのインスタンスに対して,EJBホームオブジェクトリファレンスの検索(ルックアップ)を要求します。このとき,名前に,2.で指定した名前と同じ名前「Count」を指定します。
-
要求を受けたネーミング管理機能が,キャッシュから,EJBホームオブジェクトリファレンスを検索します。
-
ネーミング管理機能が,検索結果として,キャッシュからEJBホームオブジェクトのリファレンスを取得します。