Sun GlassFish Enterprise Server v3 管理ガイド

外部 JNDI リソースの管理

Enterprise Server 上で動作しているアプリケーションでは、外部 JNDI リポジトリに保存されているリソースへのアクセスが必要となる場合があります。たとえば、汎用の Java オブジェクトを Java スキーマに従って LDAP サーバーに格納する場合があります。外部 JNDI リソース要素を使用すると、このような外部リソースリポジトリを設定できます。

ここでは、次のテーマを取り上げます。

Procedure外部 JNDI リソースを登録する

外部 JNDI リソースを登録するには、リモートモードで create-jndi-resource サブコマンドを使用します。

始める前に

外部 JNDI ファクトリは、javax.naming.spi.InitialContextFactory インタフェースを実装する必要があります。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. create-jndi-resource(1) サブコマンドを使用して、外部 JNDI リソースを登録します。

    サブコマンドのプロパティーについては、サブコマンドのマニュアルページを参照してください。

  3. Enterprise Serverを再起動します。

    「ドメインの再起動」を参照してください。


例 20–5 外部 JNDI リソースの登録

この例では、sample_jndi_resource が登録されています。


asadmin> create-jndi-resource --jndilookupname sample_jndi 
--restype queue --factoryclass sampleClass --description "this is a sample jndi 
resource" sample_jndi_resource
Command create-jndi-resource executed successfully

参照

コマンド行に asadmin help create-jndi-resource と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

Procedure外部 JNDI リソースを一覧表示する

既存の JNDI リソースをすべて表示するには、リモートモードで list-jndi-resources サブコマンドを使用します。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. list-jndi-resources(1) サブコマンドを使用して、既存の JNDI リソースを一覧表示します。


例 20–6 JNDI リソースの一覧表示

この例では、JNDI リソースを一覧表示します。


asadmin> list-jndi-resources
jndi_resource1
jndi_resource2
jndi_resource3
Command list-jndi-resources executed successfully

参照

コマンド行に asadmin help list-jndi-resources と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

Procedure外部 JNDI エントリを一覧表示する

JNDI ツリーでエントリを参照および一覧表示するには、リモートモードで list-jndi-entries サブコマンドを使用します。すべてのエントリを表示するか、JNDI コンテキストまたはサブコンテキストを指定して特定のエントリだけを一覧表示できます。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. list-jndi-entries(1) サブコマンドを使用して、構成の JNDI エントリを一覧表示します。


例 20–7 JNDI エントリの一覧表示

この例では、ネームサービスの JNDI エントリをすべて表示します。


asadmin> list-jndi-entries
jndi_entry03
jndi_entry72
jndi_entry76
Command list-jndi-resources executed successfully

参照

コマンド行に asadmin help list-jndi-entries と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

Procedure外部 JNDI リソースを更新する

  1. list-jndi-resources(1) サブコマンドを使用して、既存の JNDI リソースを一覧表示します。

  2. set(1) サブコマンドを使用して、外部 JNDI リソースを変更します。


例 20–8 外部 JNDI リソースの更新

この例では、外部リソースを変更します。


asadmin> set server.resources.external-jndi-resource.my-jndi-resource.
jndi-lookup-name=bar server.resources.external-jndi-resource.my-jndi-resource.jndi-lookup-name=bar 

Procedure外部 JNDI リソースを削除する

JNDI リソースを削除するには、リモートモードで delete-jndi-resource サブコマンドを使用します。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. delete-jndi-resource(1) サブコマンドを使用して、外部 JNDI エントリを削除します。


例 20–9 外部 JNDI リソースの削除

この例では、外部 JNDI リソースを削除します。


asadmin> delete-jndi-resource jndi_resource2
Command delete-jndi-resource executed successfully.

参照

コマンド行に asadmin help delete-jndi-resource と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

外部 JNDI リソースの使用例

<resources>
 <!-- external-jndi-resource element specifies how to access J2EE resources
 -- stored in an external JNDI repository. This example
 -- illustrates how to access a java object stored in LDAP.
 -- factory-class element specifies the JNDI InitialContext factory that
 -- needs to be used to access the resource factory. property element
 -- corresponds to the environment applicable to the external JNDI context
 -- and jndi-lookup-name refers to the JNDI name to lookup to fetch the
 -- designated (in this case the java) object.
 -->
  <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>