type=page
status=published
title=delete-jmsdest
next=delete-jms-host.html
prev=delete-jdbc-resource.html
~~~~~~

= delete-jmsdest

[[delete-jmsdest-1]][[GSRFM00090]][[delete-jmsdest]]

== delete-jmsdest

Removes a JMS physical destination

[[sthref793]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-jmsdest [--help]
--desttype type
[--target target]
dest_name
----

[[sthref794]]

=== Description

The `delete-jmsdest` subcommand removes the specified Java Message
Service (JMS) physical destination.

This subcommand is supported in remote mode only. Remote `asadmin`
subcommands require a running domain administration server (DAS).

[[sthref795]]

=== 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.
`--desttype`::
  The type of the JMS destination. Valid values are `topic` and `queue`.
`--target`::
  Deletes the physical destination only from the specified target.
  Although the `delete-jmsdest` subcommand is related to resources, a
  physical destination is deleted using the JMS Service (JMS Broker),
  which is part of the configuration. A JMS Broker is configured in the
  config section of `domain.xml`. Valid values are as follows:

  `server`;;
    Deletes the physical destination from the default server instance.
    This is the default value.
  configuration-name;;
    Deletes the physical destination from the specified configuration.
  cluster-name;;
    Deletes the physical destination from every server instance in the
    specified cluster.
  instance-name;;
    Creates the physical destination from the specified server instance.

[[sthref796]]

=== Operands

dest_name::
  The unique identifier of the JMS destination to be deleted.

[[sthref797]]

=== Examples

[[GSRFM558]][[sthref798]]

==== Example 1   Deleting a physical destination

The following subcommand deletes the queue named `PhysicalQueue`.

[source]
----
asadmin> delete-jmsdest --desttype queue PhysicalQueue
Command delete-jmsdest executed successfully.
----

[[sthref799]]

=== Exit Status

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

[[sthref800]]

=== See Also

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

link:create-jmsdest.html#create-jmsdest-1[`create-jmsdest`(1)],
link:flush-jmsdest.html#flush-jmsdest-1[`flush-jmsdest`(1)],
link:list-jmsdest.html#list-jmsdest-1[`list-jmsdest`(1)]


