次の図に示すような流れで,ネーミングはキャッシングされます。
図8-11 ネーミングのキャッシングの流れ
キャッシングの流れを説明します。この流れでは,同じ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ホームオブジェクトのリファレンスを取得します。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.