type=page
status=published
title=flush-connection-pool
next=flush-jmsdest.html
prev=export-sync-bundle.html
~~~~~~
flush-connection-pool
=====================

[[flush-connection-pool-1]][[GSRFM00135]][[flush-connection-pool]]

flush-connection-pool
---------------------

reintializes all connections established in the specified connection
pool

[[sthref1178]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] flush-connection-pool [--help] 
[--appname application [--modulename module]
pool_name 
----

[[sthref1179]]

Description

The `flush-connection-pool` subcommand resets a JDBC connection pool or
a connector connection pool to its initial state. Any existing live
connections are destroyed, which means that the transactions associated
with these connections are lost. The subcommand then recreates the
initial connections for the pool, and restores the pool to its steady
pool size.

This subcommand is supported in remote mode only.

Application Scoped Resources

The `flush-connection-pool` subcommand can target resources that are
scoped to a specific application or module, as defined in the
`glassfish-resources.xml` for the GlassFish domain.

* To reference the `jndi-name` for an application scoped resource,
perform the lookup using the `java:app` prefix.
* To reference the `jndi-name` for a module scoped resource, perform the
lookup using the `java:module` prefix.

The `jndi-name` for application-scoped-resources or
module-scoped-resources are specified using the format
`java:app/`jdbc/myDataSource or
`java:module/`jdbc/myModuleLevelDataSource. This naming scope is defined
in the Java EE Specification
(`https://javaee.github.io/javaee-spec/javadocs/`).

[[sthref1180]]

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.
`--appname`::
  Name of the application in which the application scoped resource is
  defined.
`--modulename`::
  Name of the module in which the module scoped resource is defined.

[[sthref1181]]

Operands

pool_name::
  Name of the connection pool to be reinitialized.

[[sthref1182]]

Flushing a Connection Pool

This example reinitializes the JDBC connection pool named `__TimerPool`.

[source,oac_no_warn]
----
asadmin> flush-connection-pool __TimerPool
Command flush-connection-pool executed successfully.
----

[[sthref1183]]

Exit Status

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

[[sthref1184]]

See Also

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

link:list-connector-connection-pools.html#list-connector-connection-pools-1[`list-connector-connection-pools`(1)],
link:list-jdbc-connection-pools.html#list-jdbc-connection-pools-1[`list-jdbc-connection-pools`(1)]


