type=page
status=published
title=delete-admin-object
next=delete-application-ref.html
prev=create-virtual-server.html
~~~~~~

= delete-admin-object

[[delete-admin-object-1]][[GSRFM00063]][[delete-admin-object]]

== delete-admin-object

Removes the administered object with the specified JNDI name.

[[sthref577]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-admin-object [--help]
[--target target] jndi_name
----

[[sthref578]]

=== Description

The `delete-admin-object` subcommand removes an administered object with
the specified JNDI name.

This subcommand is supported in remote mote only.

[[sthref579]]

=== 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 is the name of the targets for which the administered object is
  to be deleted. Valid values 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 administered object for the default server instance
    `server` and is the default value.
  configuration_name;;
    Deletes the administered object for the specified configuration.
  cluster_name;;
    Deletes the administered object for the specified cluster.
  instance_name;;
    Deletes the administered object for a particular server instance.

[[sthref580]]

=== Operands

jndi_name::
  JNDI name of the administered object to be deleted.

[[sthref581]]

=== Examples

[[GSRFM530]][[sthref582]]

==== Example 1   Deleting an Administered Object

This example deletes the administered object named `jms/samplelqueue`.

[source]
----
asadmin> delete-admin-object jms/samplequeue
Command delete-admin-object executed successfully
----

[[sthref583]]

=== Exit Status

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

[[sthref584]]

=== See Also

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

link:create-admin-object.html#create-admin-object-1[`create-admin-object`(1)],
link:list-admin-objects.html#list-admin-objects-1[`list-admin-objects`(1)]


