type=page
status=published
title=list-jmsdest
next=list-jms-hosts.html
prev=list-jdbc-resources.html
~~~~~~
list-jmsdest
============

[[list-jmsdest-1]][[GSRFM00175]][[list-jmsdest]]

list-jmsdest
------------

lists the existing JMS physical destinations

[[sthref1559]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list-jmsdest [--help]
[--desttype type]
[target]
----

[[sthref1560]]

Description

The `list-jmsdest` subcommand lists the Java Message Service (JMS)
physical destinations.

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

[[sthref1561]]

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 JMS destination to be listed. Valid values are `topic` and
  `queue`.

[[sthref1562]]

Operands

target::
  Restricts the listing to physical destinations for a specified target.
  Valid values are as follows: +
  `server`;;
    Lists the physical destinations for the default server instance.
    This is the default value.
  configuration-name;;
    Lists the physical destinations in the specified configuration.
  cluster-name;;
    Lists the physical destinations for every server instance in the
    specified cluster.
  instance-name;;
    Lists the physical destinations for the specified server instance.

[[sthref1563]]

Examples

[[GSRFM672]][[sthref1564]]

Example 1   Listing all physical destinations

The following subcommand lists all the physical destinations.

[source,oac_no_warn]
----
asadmin> list-jmsdest
PhysicalQueue
PhysicalTopic
Command list-jmsdest executed successfully.
----

[[GSRFM673]][[sthref1565]]

Example 2   Listing all physical destinations of a specified type

The following subcommand lists all physical topics.

[source,oac_no_warn]
----
asadmin> list-jmsdest --desttype topic
PhysicalTopic
Command list-jmsdest executed successfully.
----

[[sthref1566]]

Exit Status

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

[[sthref1567]]

See Also

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

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


