通常、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>