type=page
status=published
title=create-jndi-resource
next=create-jvm-options.html
prev=create-jms-resource.html
~~~~~~
create-jndi-resource
====================

[[create-jndi-resource-1]][[GSRFM00041]][[create-jndi-resource]]

create-jndi-resource
--------------------

registers a JNDI resource

[[sthref361]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] create-jndi-resource [--help] 
[--target target] 
--restype restype --factoryclass factoryclass 
--jndilookupname jndilookupname [--enabled={true|false}] 
[--description description] 
[--property (name=value)[:name=value]*] 
jndi-name
----

[[sthref362]]

Description

The `create-jndi-resource` subcommand registers a JNDI resource.

This subcommand is supported in remote mode only.

[[sthref363]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--target`::
  This option specifies the target for which you are registering a JNDI
  resource. Valid values for target are described below. +

[width="100%",cols="100%",]
|=======================================================================
a|
Note:

The resource is always created for the domain as a whole, but the
`resource-ref` for the resource is only created for the specified
`--target`. This means that although the resource is defined at the
domain level, it is only available at the specified target level. Use
the `create-resource-ref` subcommand to refer to the resource in
multiple targets if needed.

|=======================================================================

  `server`;;
    Creates the resource for the default server instance. This value is
    the default.
  `domain`;;
    Creates the resource for the domain
  cluster-name;;
    Creates the resource for every server instance in the cluster
  instance-name;;
    Creates the resource for a particular server instance
`--restype`::
  The JNDI resource type. Valid values are `topic` or `queue`.
`--factoryclass`::
  The class that creates the JNDI resource.
`--jndilookupname`::
  The lookup name that the external container uses.
`--enabled`::
  Determines whether the resource is enabled at runtime. Default is
  true.
`--description`::
  The text that provides details about the JNDI resource.
`--property`::
  Optional properties for configuring the resource. Each property is
  specified as a name-value pair. +
  The available properties are specific to the implementation that is
  specified by the `--factoryclass` option and are used by that
  implementation. \{product---name} itself does not define any
  properties for configuring a JNDI resource.

[[sthref364]]

Operands

jndi-name::
  The unique name of the JNDI resource to be created.

[[sthref365]]

Examples

[[GSRFM499]][[sthref366]]

Example 1   Creating a JNDI Resource

This example creates the JNDI resource `my-jndi-resource` for the
default server instance.

[source,oac_no_warn]
----
asadmin> create-jndi-resource 
--restype com.example.jndi.MyResourceType 
--factoryclass com.example.jndi.MyInitialContextFactoryClass 
--jndilookupname remote-jndi-name 
--description "sample JNDI resource" my-jndi-resource
JNDI resource my-jndi-resource created.
Command create-jndi-resource executed successfully.
----

[[sthref367]]

Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref368]]

See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
link:delete-jndi-resource.html#delete-jndi-resource-1[`delete-jndi-resource`(1)],
link:list-jndi-resources.html#list-jndi-resources-1[`list-jndi-resources`(1)]


