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)]


