EJB ファクトリーは、2 つのオブジェクト、すなわち InitialContext およびエンタープライズ Bean のホーム・インターフェースが提供する機能をカプセル化します。 これを使用すれば、エンタープライズ Bean ホームのルックアップ操作を実行するのに必要なプロバイダー URL や、 その他の設定値を設定できるようになります。EJB ファクトリーのスーパークラスは、EJB ホームの実装を獲得するのに必要な、 ネーム・サービスでのルックアップや PortableRemoteObject.narrow() 操作実行の実装の詳細を非表示にします。 (EJB ファクトリーはリモート EJB インスタンスを取得するのに使用されるヘルパー・クラスであるため、 順序付け可能でないことに注意してください。)
EJB ファクトリーは、「アクセス Bean の追加」ウィザードを使用して、 以下のアクセス Bean タイプのいずれかを生成するように選択すれば、いつでも自動的に生成されます。
ホーム・インターフェースのマッピング
EJB ファクトリーの目的は、エンタープライズ Bean リモート・オブジェクトへの参照を作成する手段を提供することです。 ファクトリー・クラスは、エンタープライズ Bean のホーム・インターフェースのメソッドを実装することと、これらのメソッド呼び出しをエンタープライズ Bean のホームのインスタンスに代行させることで、この目的を果たします。 このファクトリー・クラスは、特定ネーム・サービスの「ルックアップ」を実行して、 EJBHome への参照を取得します。ユーザーはルックアップ呼び出しを任意のネーム・サービスに指図するか、 またはデフォルト設定を使用できます。最初の呼び出しが EJBHome メソッドに対して行われると、インスタンスはルックアップ・オペレーションを実行して EJBHome オブジェクトを獲得することになります。JNDI のマッピング
デフォルト JNDI 名がそれぞれのアクセス Bean クラスに生成されます。 コード生成プログラムは、拡張エディターで指定された JNDI 名を使用します。 このデフォルトは、ホーム・インターフェース名です。 JNDI 名は、setJNDIName() を使用すると変更できます。