type=page
status=published
title=list-connector-connection-pools
next=list-connector-resources.html
prev=list-configs.html
~~~~~~

= list-connector-connection-pools

[[list-connector-connection-pools-1]][[GSRFM00157]][[list-connector-connection-pools]]

== list-connector-connection-pools

Lists the existing connector connection pools

[[sthref1407]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-connector-connection-pools [--help]
----

[[sthref1408]]

=== Description

The `list-connector-connection-pools` subcommand list connector
connection pools that have been created.

This subcommand is supported in remote mode only.

[[sthref1409]]

=== 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.

[[sthref1410]]

=== Examples

[[GSRFM649]][[sthref1411]]

==== Example 1   Listing the Connector Connection Pools

This example lists the existing connector connection pools.

[source]
----
asadmin> list-connector-connection-pools
jms/qConnPool
Command list-connector-connection-pools executed successfully
----

[[sthref1412]]

=== Exit Status

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

[[sthref1413]]

=== See Also

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

link:create-connector-connection-pool.html#create-connector-connection-pool-1[`create-connector-connection-pool`(1)],
link:delete-connector-connection-pool.html#delete-connector-connection-pool-1[`delete-connector-connection-pool`(1)],
link:ping-connection-pool.html#ping-connection-pool-1[`ping-connection-pool`(1)]


