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


