通常、Application Server で実行中のアプリケーションは、外部 JNDI リポジトリに格納されているリソースにアクセスする必要があります。たとえば、一般的な Java オブジェクトは、Java スキーマのように LDAP サーバーに格納できます。外部 JNDI リソースの要素を使用すると、このような外部リソースリポジトリを設定できます。外部 JNDI ファクトリは、javax.naming.spi.InitialContextFactory インタフェースを実装する必要があります。
外部 JNDI リソースの使用例を示します。
<resources> <!-- external-jndi-resource 要素は、外部 JNDI リポジトリに格納されて -- いる J2EE リソースへのアクセス方法を指定します。次の例は、 -- LDAP に格納されている Java オブジェクトへのアクセス方法を示します。 -- factory-class 要素は、リソースファクトリへのアクセスに使用される -- JNDI InitialContext ファクトリを指定します。property 要素は -- 外部 JNDI コンテキストに適用可能な環境に対応します。 -- jndi-lookup-name は、指定の (この例では Java) オブジェクトを検出して -- フェッチするための JNDI 名を参照します。 --> <external-jndi-resource jndi-name="test/myBean" jndi-lookup-name="cn=myBean" res-type="test.myBean" factory-class="com.sun.jndi.ldap.LdapCtxFactory"> <property name="PROVIDER-URL" value="ldap://ldapserver:389/o=myObjects" /> <property name="SECURITY_AUTHENTICATION" value="simple" /> <property name="SECURITY_PRINCIPAL", value="cn=joeSmith, o=Engineering" /> <property name="SECURITY_CREDENTIALS" value="changeit" /> </external-jndi-resource> </resources>