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

= list-jms-resources

[[list-jms-resources-1]][[GSRFM00177]][[list-jms-resources]]

== list-jms-resources

Lists the JMS resources

[[sthref1575]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-jms-resources [--help]
[--restype type]
[target]
----

[[sthref1576]]

=== Description

The `list-jms-resources` subcommand lists the existing Java Message
Service (JMS) resources (destination and connection factory resources).

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

[[sthref1577]]

=== 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.
`--restype`::
  The JMS resource type can be `jakarta.jms.Topic`, `jakarta.jms.Queue`,
  `jakarta.jms.ConnectionFactory`, `jakarta.jms.TopicConnectionFactory`, or
  `jakarta.jms.QueueConnectionFactory`.

[[sthref1578]]

=== Operands

target::
  Restricts the listing to resources for a specified target. Valid
  values are as follows:

  `server`;;
    Lists the resources for the default server instance. This is the
    default value.
  `domain`;;
    Lists the resources for the domain.
  cluster-name;;
    Lists the resources for every server instance in the specified
    cluster.
  instance-name;;
    Lists the resources for the specified server instance.

[[sthref1579]]

=== Examples

[[GSRFM675]][[sthref1580]]

==== Example 1   Listing all JMS resources

The following subcommand lists all JMS resources.

[source]
----
asadmin> list-jms-resources
jms/Queue
jms/ConnectionFactory
jms/DurableConnectionFactory
jms/Topic
Command list-jms-resources executed successfully.
----

[[GSRFM676]][[sthref1581]]

==== Example 2   Listing JMS resources of a specified type

The following subcommand lists all `jakarta.jms.ConnectionFactory`
resources.

[source]
----
asadmin> list-jms-resources --restype jakarta.jms.ConnectionFactory
jms/ConnectionFactory
jms/DurableConnectionFactory
Command list-jms-resources executed successfully.
----

[[sthref1582]]

=== Exit Status

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

[[sthref1583]]

=== See Also

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

link:create-jms-resource.html#create-jms-resource-1[`create-jms-resource`(1)],
link:delete-jms-resource.html#delete-jms-resource-1[`delete-jms-resource`(1)]


