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

delete-jndi-resource
====================

[[delete-jndi-resource-1]][[GSRFM00093]][[delete-jndi-resource]]

delete-jndi-resource
--------------------

Removes a JNDI resource

[[sthref817]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-jndi-resource [--help]
[--target target] jndi_name
----

[[sthref818]]

=== Description

The `delete-jndi-resource` subcommand removes the specified JNDI
resource. You must remove all associations to the JNDI resource before
running this subcommand.

This subcommand is supported in remote mode only.

[[sthref819]]

=== 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`::
  Valid targets are described below.
+
[NOTE]
====
Resources are always created for a domain as a whole but are only
active for targets for which a `<resource-ref>` has been created using
the `--target` option when the resource was created. This means that
deleting a resource only deletes the `<resource-ref>` element for the
specified `--target`, and does not delete the resource from the domain
as a whole unless `domain` is specified as the `--target` for the
deletion.
====

  `server`;;
    Deletes the resource from the default server instance. This is the
    default value
  `domain`;;
    Deletes the resource from the domain
  cluster_name;;
    Deletes the resource for every server instance in the cluster
  instance_name;;
    Deletes the resource from the specified server instance

[[sthref820]]

=== Operands

jndi_name::
  The name of the JNDI resource to be removed.

[[sthref821]]

=== Examples

[[GSRFM561]][[sthref822]]

==== Example 1   Deleting a JNDI Resource

This example removes an existing JNDI resource named
`sample_jndi_resource`.

[source]
----
asadmin> delete-jndi-resource sample_jndi_resource
Command delete-jndi-resource executed successfully.
----

[[sthref823]]

=== Exit Status

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

[[sthref824]]

=== See Also

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

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


