type=page
status=published
title=delete-connector-resource
next=delete-connector-security-map.html
prev=delete-connector-connection-pool.html
~~~~~~

= delete-connector-resource

[[delete-connector-resource-1]][[GSRFM00071]][[delete-connector-resource]]

== delete-connector-resource

Removes the connector resource with the specified JNDI name

[[sthref633]]

=== Synopsis

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

[[sthref634]]

=== Description

The `delete-connector-resource` subcommand removes the connector
resource with the specified JNDI name.

This subcommand is supported in remote mode only.

[[sthref635]]

=== 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 from which you want to remove the
  connector resource. Valid targets are:
+
[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 connector resource from the default server instance.
    This is the default value.
  `domain`;;
    Deletes the connector resource from the domain.
  cluster_name;;
    Deletes the connector resource from every server instance in the
    cluster.
  instance_name;;
    Deletes the connector resource from a specified server instance.

[[sthref636]]

=== Operands

jndi_name::
  The JNDI name of this connector resource.

[[sthref637]]

=== Examples

[[GSRFM538]][[sthref638]]

==== Example 1   Deleting a Connector Resource

This example deletes a connector resource named `jms/qConnFactory`.

[source]
----
asadmin> delete-connector-resource jms/qConnFactory
Command delete-connector-resource executed successfully
----

[[GSRFM539]][[sthref639]]

==== Example 2   Using the delete-connector-resource subcommand

This example shows the usage of this subcommand.

[source]
----
asadmin> delete-connector-resource jms/qConnFactory
Command delete-connector-resource executed successfully
----

Where `jms/qConnFactory` is the connector resource that is removed.

[[sthref640]]

=== Exit Status

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

[[sthref641]]

=== See Also

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

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


