Oracle GlassFish Server 3.0.1 Administration Guide

Administering JNDI Resources

Within GlassFish Server, you can configure your environment for custom and external JNDI resources. A custom resource accesses a local JNDI repository; an external resource accesses an external JNDI repository. Both types of resources need user-specified factory class elements, JNDI name attributes, and so on.

Administering Custom JNDI Resources

A custom resource specifies a custom server-wide resource object factory that implements the javax.naming.spi.ObjectFactory interface.

The following topics are addressed here:

ProcedureTo Create a Custom JNDI Resource

Use the create-custom-resource subcommand in remote mode to create a custom resource.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. Create a custom resource by using the create-custom-resource(1) subcommand.

    Information on properties for the subcommand is contained in this help page.

  3. Restart GlassFish Server.

    See To Restart a Domain.


Example 20–1 Creating a Custom Resource

This example creates a custom resource named sample-custom-resource.


asadmin> create-custom-resource --restype topic --factoryclass com.imq.topic 
sample_custom_resource
Command create-custom-resource executed successfully.

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help create-custom-resource at the command line.

ProcedureTo List Custom JNDI Resources

Use the list-custom-resources subcommand in remote mode to list the existing custom resources.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. List the custom resources by using the list-custom-resources(1) subcommand.


Example 20–2 Listing Custom Resources

This example lists the existing custom resources.


asadmin> list-custom-resources
sample_custom_resource01 
sample_custom_resource02 
Command list-custom-resources executed successfully

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help list-custom-resources at the command line.

ProcedureTo Update a Custom JNDI Resource

  1. List the custom resources by using the list-custom-resources(1) subcommand.

  2. Use the set(1) subcommand to modify a custom JNDI resource.


Example 20–3 Updating a Custom JNDI Resource

This example modifies a custom resource.


asadmin> set server.resources.custom-resource.custom
/my-custom-resource.property.value=2010server.resources.custom-resource.custom
/my-custom-resource.property.value=2010

ProcedureTo Delete a Custom JNDI Resource

Use the delete-custom-resource subcommand in remote mode to delete a custom resource.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. List the custom resources by using the list-custom-resources(1) subcommand.

  3. Delete a custom resource by using the delete-custom-resource(1) subcommand.


Example 20–4 Deleting a Custom Resource

This example deletes a custom resource named sample-custom-resource.


asadmin> delete-custom-resource sample_custom_resource
Command delete-custom-resource executed successfully.

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help delete-custom-resource at the command line.

Administering External JNDI Resources

Applications running on GlassFish Server often require access to resources stored in an external JNDI repository. For example, generic Java objects might be stored in an LDAP server according to the Java schema. External JNDI resource elements let you configure such external resource repositories.

The following topics are addressed here:

ProcedureTo Register an External JNDI Resource

Use the create-jndi-resource subcommand in remote mode to register an external JNDI resource.

Before You Begin

The external JNDI factory must implement the javax.naming.spi.InitialContextFactory interface.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. Register an external JNDI resource by using the create-jndi-resource(1) subcommand.

    Information on properties for the subcommand is contained in this help page.

  3. Restart GlassFish Server.

    See To Restart a Domain.


Example 20–5 Registering an External JNDI Resource

In This example sample_jndi_resource is registered.


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

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help create-jndi-resource at the command line.

ProcedureTo List External JNDI Resources

Use the list-jndi-resources subcommand in remote mode to list all existing JNDI resources.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. List the existing JNDI resources by using thelist-jndi-resources(1) subcommand.


Example 20–6 Listing JNDI Resources

This example lists the JNDI resources.


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

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help list-jndi-resources at the command line.

ProcedureTo List External JNDI Entries

Use the list-jndi-entries subcommand in remote mode to browse and list the entries in the JNDI tree. You can either list all entries, or you can specify the JNDI context or subcontext to list specific entries.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. List the JNDI entries for a configuration by using the list-jndi-entries(1) subcommand.


Example 20–7 Listing JNDI Entries

This example lists all the JNDI entries for the naming service.


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

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help list-jndi-entries at the command line.

ProcedureTo Update an External JNDI Resource

  1. List the existing JNDI resources by using thelist-jndi-resources(1) subcommand.

  2. Use the set(1) subcommand to modify an external JNDI resource.


Example 20–8 Updating an External JNDI Resource

This example modifies an external resource.


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 

ProcedureTo Delete an External JNDI Resource

Use the delete-jndi-resource subcommand in remote mode to remove a JNDI resource.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. Remove an external JNDI entry by using the delete-jndi-resource(1) subcommand.


Example 20–9 Deleting an External JNDI Resource

This example deletes an external JNDI resource:


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

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help delete-jndi-resource at the command line.

Example of Using an External JNDI Resource

<resources>
 <!-- external-jndi-resource element specifies how to access Java EE 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>