コンテキスト ファクトリ

ホーム オブジェクトの LDAP ディレクトリへのバインディングを可能にする JNDI Referenceable のサポートが提供されています。すべてのホーム参照は、LDAP サービス プロバイダによって供給されているものを含む、任意の JNDI コンテキストに含めることができます。

コンテキスト ファクトリを作成することによって、カスタム JNDI コンテキストを使用できます。カスタム コンテキストまたはサードパーティ コンテキストのいずれかのインスタンスへのアクセスが一度確立すると、これに応じて参照がホーム オブジェクトにバインドまたは再バインドされます。ホーム オブジェクト参照は、通常の検索メカニズムを使用して既定の EJB エンジン コンテキストから取り出されます。

JNDI を使用してネーム サーバまたはディレクトリ サーバのサービスにアクセスする場合はまず、JNDI コンテキストのインスタンスを作成します。JNDI には、このコンテキスト作成プロセスを標準化するための InitialContext API が用意されています。JNDI によって作成されるコンテキストのタイプは、InitialContext API を呼び出す前にサービス プロバイダ固有のコンテキスト ファクトリを指定することによって制御します。

JRun には、JNDI コンテキストを作成するためのコンテキスト ファクトリが含まれています。これらのコンテキストは、標準 bind メカニズムを使用して、EJB エンジンによって取り込まれた後にクライアントに割り当てられます。

ディレクトリ サーバ (LDAP) へのアクセスを提供するオプションなど、JNDI コンテキストをカスタマイズするためのオプションが多数あるため、EJB エンジンは、ホーム オブジェクトをサードパーティ コンテキストにはバインドしません。これにより、拡大し続けるカスタマイゼーション オプション リストを制御するための専用のプロパティ セットを指定する必要はありません。

カスタム コンテキスト ファクトリを作成するには、
java.naming.spi.InitialContextFactory インターフェイスを、1 つのメソッド getInitialContext(...) を持つクラス内に組み込む必要があります。 このメソッド内で、EJB エンジンの初期コンテキストを作成し、任意のカスタム オブジェクトをこのコンテキストにバインドします。また、クライアント コード内では、カスタム コンテキスト ファクトリの名前とともに
allaire.ejipt.ContextFactory INITIAL_CONTEXT_FACTORY プロパティも必ず設定してください。

EJB エンジンは、JRun によってエクスポートされたホーム オブジェクトを持つサードパーティ JNDI コンテキストをカスタマイズするのに、標準コンテキスト ファクトリ メカニズムに依存します。LDAP ディレクトリなどのサードパーティ コンテキストからホーム オブジェクトにアクセスする場合はまず、コンテキスト ファクトリを作成します。さらに、このコンテキスト ファクトリは、JRun およびサードパーティ ディレクトリ サーバの両方に接続し、選択されているカスタマイゼーション オプションを使用してホーム オブジェクトをバインドします。