AbstractPoolBackedDataSource (c3p0-0.9.5.5 API Documentation)
Date: 2019-12-11

com.mchange.v2.c3p0.impl

## Class AbstractPoolBackedDataSource

- java.lang.Object
- - com.mchange.v2.c3p0.impl.AbstractIdentityTokenized
  - - com.mchange.v2.c3p0.impl.IdentityTokenResolvable
    - - com.mchange.v2.c3p0.impl.PoolBackedDataSourceBase
      - - com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource

- All Implemented Interfaces:
    IdentityTokenized, PooledDataSource, java.io.Serializable, java.sql.Wrapper, javax.naming.Referenceable, javax.sql.CommonDataSource, javax.sql.DataSource
  Direct Known Subclasses:
    AbstractComboPooledDataSource, PoolBackedDataSource

      public abstract class AbstractPoolBackedDataSource
      extends PoolBackedDataSourceBase
      implements PooledDataSource

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class com.mchange.v2.c3p0.impl.PoolBackedDataSourceBase

      `pcs, vcs`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractPoolBackedDataSource(boolean autoregister)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` C3P0 pooled DataSources use no resources before they are actually used in a VM, and they close themselves in their finalize() method.
    `void` | `close(boolean force_destroy)` Deprecated. the force_destroy argument is now meaningless, as pools are no longer potentially shared between multiple DataSources.
    `java.util.Collection` | `getAllUsers()`
    `java.sql.Connection` | `getConnection()`
    `java.sql.Connection` | `getConnection(java.lang.String username, java.lang.String password)`
    `java.lang.String` | `getDataSourceName()`
    `float` | `getEffectivePropertyCycle(java.lang.String username, java.lang.String password)`
    `float` | `getEffectivePropertyCycleDefaultUser()`
    `java.lang.Throwable` | `getLastAcquisitionFailure(java.lang.String username, java.lang.String password)`
    `java.lang.Throwable` | `getLastAcquisitionFailureDefaultUser()`
    `java.lang.Throwable` | `getLastCheckinFailure(java.lang.String username, java.lang.String password)`
    `java.lang.Throwable` | `getLastCheckinFailureDefaultUser()`
    `java.lang.Throwable` | `getLastCheckoutFailure(java.lang.String username, java.lang.String password)`
    `java.lang.Throwable` | `getLastCheckoutFailureDefaultUser()`
    `java.lang.Throwable` | `getLastConnectionTestFailure(java.lang.String username, java.lang.String password)`
    `java.lang.Throwable` | `getLastConnectionTestFailureDefaultUser()`
    `java.lang.Throwable` | `getLastIdleTestFailure(java.lang.String username, java.lang.String password)`
    `java.lang.Throwable` | `getLastIdleTestFailureDefaultUser()`
    `int` | `getLoginTimeout()`
    `java.io.PrintWriter` | `getLogWriter()`
    `int` | `getNumBusyConnections()`
    `int` | `getNumBusyConnections(java.lang.String username, java.lang.String password)`
    `int` | `getNumBusyConnectionsAllUsers()`
    `int` | `getNumBusyConnectionsDefaultUser()`
    `int` | `getNumConnections()`
    `int` | `getNumConnections(java.lang.String username, java.lang.String password)`
    `int` | `getNumConnectionsAllUsers()`
    `int` | `getNumConnectionsDefaultUser()`
    `long` | `getNumFailedCheckins(java.lang.String username, java.lang.String password)`
    `long` | `getNumFailedCheckinsDefaultUser()`
    `long` | `getNumFailedCheckouts(java.lang.String username, java.lang.String password)`
    `long` | `getNumFailedCheckoutsDefaultUser()`
    `long` | `getNumFailedIdleTests(java.lang.String username, java.lang.String password)`
    `long` | `getNumFailedIdleTestsDefaultUser()`
    `int` | `getNumIdleConnections()`
    `int` | `getNumIdleConnections(java.lang.String username, java.lang.String password)`
    `int` | `getNumIdleConnectionsAllUsers()`
    `int` | `getNumIdleConnectionsDefaultUser()`
    `int` | `getNumThreadsAwaitingCheckout(java.lang.String username, java.lang.String password)`
    `int` | `getNumThreadsAwaitingCheckoutDefaultUser()`
    `int` | `getNumUnclosedOrphanedConnections()`
    `int` | `getNumUnclosedOrphanedConnections(java.lang.String username, java.lang.String password)`
    `int` | `getNumUnclosedOrphanedConnectionsAllUsers()`
    `int` | `getNumUnclosedOrphanedConnectionsDefaultUser()`
    `int` | `getNumUserPools()`
    `long` | `getStartTimeMillis(java.lang.String username, java.lang.String password)`
    `long` | `getStartTimeMillisDefaultUser()`
    `int` | `getStatementCacheNumCheckedOut(java.lang.String username, java.lang.String password)`
    `int` | `getStatementCacheNumCheckedOutDefaultUser()`
    `int` | `getStatementCacheNumCheckedOutStatementsAllUsers()`
    `int` | `getStatementCacheNumConnectionsWithCachedStatements(java.lang.String username, java.lang.String password)`
    `int` | `getStatementCacheNumConnectionsWithCachedStatementsAllUsers()`
    `int` | `getStatementCacheNumConnectionsWithCachedStatementsDefaultUser()`
    `int` | `getStatementCacheNumStatements(java.lang.String username, java.lang.String password)`
    `int` | `getStatementCacheNumStatementsAllUsers()`
    `int` | `getStatementCacheNumStatementsDefaultUser()`
    `int` | `getStatementDestroyerNumActiveThreads()`
    `int` | `getStatementDestroyerNumConnectionsInUse(java.lang.String username, java.lang.String password)`
    `int` | `getStatementDestroyerNumConnectionsInUseAllUsers()`
    `int` | `getStatementDestroyerNumConnectionsInUseDefaultUser()`
    `int` | `getStatementDestroyerNumConnectionsWithDeferredDestroyStatements(java.lang.String username, java.lang.String password)`
    `int` | `getStatementDestroyerNumConnectionsWithDeferredDestroyStatementsAllUsers()`
    `int` | `getStatementDestroyerNumConnectionsWithDeferredDestroyStatementsDefaultUser()`
    `int` | `getStatementDestroyerNumDeferredDestroyStatements(java.lang.String username, java.lang.String password)`
    `int` | `getStatementDestroyerNumDeferredDestroyStatementsAllUsers()`
    `int` | `getStatementDestroyerNumDeferredDestroyStatementsDefaultUser()`
    `int` | `getStatementDestroyerNumIdleThreads()`
    `int` | `getStatementDestroyerNumTasksPending()`
    `int` | `getStatementDestroyerNumThreads()`
    `int` | `getThreadPoolNumActiveThreads()`
    `int` | `getThreadPoolNumIdleThreads()`
    `int` | `getThreadPoolNumTasksPending()`
    `int` | `getThreadPoolSize()`
    `long` | `getUpTimeMillis(java.lang.String username, java.lang.String password)`
    `long` | `getUpTimeMillisDefaultUser()`
    `void` | `hardReset()` Destroys all pooled and checked-out Connections associated with this DataSource immediately.
    `protected void` | `initializeNamedConfig(java.lang.String configName, boolean shouldBindUserOverridesAsString)`
    `boolean` | `isWrapperFor(java.lang.Class<?> iface)`
    `protected boolean` | `isWrapperForThis(java.lang.Class<?> iface)`
    `void` | `resetPoolManager()`
    `void` | `resetPoolManager(boolean close_checked_out_connections)`
    `java.lang.String` | `sampleLastAcquisitionFailureStackTrace(java.lang.String username, java.lang.String password)`
    `java.lang.String` | `sampleLastAcquisitionFailureStackTraceDefaultUser()`
    `java.lang.String` | `sampleLastCheckinFailureStackTrace(java.lang.String username, java.lang.String password)`
    `java.lang.String` | `sampleLastCheckinFailureStackTraceDefaultUser()`
    `java.lang.String` | `sampleLastCheckoutFailureStackTrace(java.lang.String username, java.lang.String password)`
    `java.lang.String` | `sampleLastCheckoutFailureStackTraceDefaultUser()`
    `java.lang.String` | `sampleLastConnectionTestFailureStackTrace(java.lang.String username, java.lang.String password)`
    `java.lang.String` | `sampleLastConnectionTestFailureStackTraceDefaultUser()`
    `java.lang.String` | `sampleLastIdleTestFailureStackTrace(java.lang.String username, java.lang.String password)`
    `java.lang.String` | `sampleLastIdleTestFailureStackTraceDefaultUser()`
    `java.lang.String` | `sampleStatementCacheStatus(java.lang.String username, java.lang.String password)`
    `java.lang.String` | `sampleStatementCacheStatusDefaultUser()`
    `java.lang.String` | `sampleStatementDestroyerStackTraces()`
    `java.lang.String` | `sampleStatementDestroyerStatus()`
    `java.lang.String` | `sampleThreadPoolStackTraces()`
    `java.lang.String` | `sampleThreadPoolStatus()`
    `void` | `setLoginTimeout(int seconds)`
    `void` | `setLogWriter(java.io.PrintWriter out)`
    `void` | `softReset(java.lang.String username, java.lang.String password)` Discards all Connections managed by the PooledDataSource with the specified authentication credentials and reacquires new Connections to populate.
    `void` | `softResetAllUsers()` Discards all Connections managed by the PooledDataSource and reacquires new Connections to populate.
    `void` | `softResetDefaultUser()` Discards all Connections managed by the PooledDataSource's default-authentication pool and reacquires new Connections to populate.
    `abstract java.lang.String` | `toString(boolean show_config)`
    `<T> T` | `unwrap(java.lang.Class<T> iface)`

    - ### Methods inherited from class com.mchange.v2.c3p0.impl.PoolBackedDataSourceBase

      `addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, extraToStringInfo, getConnectionPoolDataSource, getExtensions, getFactoryClassLocation, getIdentityToken, getNumHelperThreads, getParentLogger, getPropertyChangeListeners, getPropertyChangeSupport, getReference, getVetoableChangeListeners, getVetoableChangeSupport, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, setConnectionPoolDataSource, setDataSourceName, setExtensions, setFactoryClassLocation, setIdentityToken, setNumHelperThreads, toString`

    - ### Methods inherited from class com.mchange.v2.c3p0.impl.IdentityTokenResolvable

      `doResolve, readResolve, verifyResolve`

    - ### Methods inherited from class com.mchange.v2.c3p0.impl.AbstractIdentityTokenized

      `equals, hashCode`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.mchange.v2.c3p0.PooledDataSource

      `getExtensions, getIdentityToken, getNumHelperThreads, setDataSourceName, setExtensions`

    - ### Methods inherited from interface javax.sql.CommonDataSource

      `getParentLogger`

- - ### Constructor Detail

    - #### AbstractPoolBackedDataSource

          protected AbstractPoolBackedDataSource(boolean autoregister)

  - ### Method Detail

    - #### initializeNamedConfig

          protected void initializeNamedConfig(java.lang.String configName,
                                               boolean shouldBindUserOverridesAsString)

    - #### getDataSourceName

          public java.lang.String getDataSourceName()

      Specified by:
        `getDataSourceName` in interface `PooledDataSource`
      Overrides:
        `getDataSourceName` in class `PoolBackedDataSourceBase`

    - #### getConnection

          public java.sql.Connection getConnection()
                                            throws java.sql.SQLException

      Specified by:
        `getConnection` in interface `javax.sql.DataSource`
      Throws:
        `java.sql.SQLException`

    - #### getConnection

          public java.sql.Connection getConnection(java.lang.String username,
                                                   java.lang.String password)
                                            throws java.sql.SQLException

      Specified by:
        `getConnection` in interface `javax.sql.DataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLogWriter

          public java.io.PrintWriter getLogWriter()
                                           throws java.sql.SQLException

      Specified by:
        `getLogWriter` in interface `javax.sql.CommonDataSource`
      Throws:
        `java.sql.SQLException`

    - #### setLogWriter

          public void setLogWriter(java.io.PrintWriter out)
                            throws java.sql.SQLException

      Specified by:
        `setLogWriter` in interface `javax.sql.CommonDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLoginTimeout

          public int getLoginTimeout()
                              throws java.sql.SQLException

      Specified by:
        `getLoginTimeout` in interface `javax.sql.CommonDataSource`
      Throws:
        `java.sql.SQLException`

    - #### setLoginTimeout

          public void setLoginTimeout(int seconds)
                               throws java.sql.SQLException

      Specified by:
        `setLoginTimeout` in interface `javax.sql.CommonDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumConnections

          public int getNumConnections()
                                throws java.sql.SQLException

      Specified by:
        `getNumConnections` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumIdleConnections

          public int getNumIdleConnections()
                                    throws java.sql.SQLException

      Specified by:
        `getNumIdleConnections` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumBusyConnections

          public int getNumBusyConnections()
                                    throws java.sql.SQLException

      Specified by:
        `getNumBusyConnections` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumUnclosedOrphanedConnections

          public int getNumUnclosedOrphanedConnections()
                                                throws java.sql.SQLException

      Specified by:
        `getNumUnclosedOrphanedConnections` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumConnectionsDefaultUser

          public int getNumConnectionsDefaultUser()
                                           throws java.sql.SQLException

      Specified by:
        `getNumConnectionsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumIdleConnectionsDefaultUser

          public int getNumIdleConnectionsDefaultUser()
                                               throws java.sql.SQLException

      Specified by:
        `getNumIdleConnectionsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumBusyConnectionsDefaultUser

          public int getNumBusyConnectionsDefaultUser()
                                               throws java.sql.SQLException

      Specified by:
        `getNumBusyConnectionsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumUnclosedOrphanedConnectionsDefaultUser

          public int getNumUnclosedOrphanedConnectionsDefaultUser()
                                                           throws java.sql.SQLException

      Specified by:
        `getNumUnclosedOrphanedConnectionsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumStatementsDefaultUser

          public int getStatementCacheNumStatementsDefaultUser()
                                                        throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumStatementsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumCheckedOutDefaultUser

          public int getStatementCacheNumCheckedOutDefaultUser()
                                                        throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumCheckedOutDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumConnectionsWithCachedStatementsDefaultUser

          public int getStatementCacheNumConnectionsWithCachedStatementsDefaultUser()
                                                                             throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumConnectionsWithCachedStatementsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getEffectivePropertyCycleDefaultUser

          public float getEffectivePropertyCycleDefaultUser()
                                                     throws java.sql.SQLException

      Specified by:
        `getEffectivePropertyCycleDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStartTimeMillisDefaultUser

          public long getStartTimeMillisDefaultUser()
                                             throws java.sql.SQLException

      Specified by:
        `getStartTimeMillisDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getUpTimeMillisDefaultUser

          public long getUpTimeMillisDefaultUser()
                                          throws java.sql.SQLException

      Specified by:
        `getUpTimeMillisDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumFailedCheckinsDefaultUser

          public long getNumFailedCheckinsDefaultUser()
                                               throws java.sql.SQLException

      Specified by:
        `getNumFailedCheckinsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumFailedCheckoutsDefaultUser

          public long getNumFailedCheckoutsDefaultUser()
                                                throws java.sql.SQLException

      Specified by:
        `getNumFailedCheckoutsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumFailedIdleTestsDefaultUser

          public long getNumFailedIdleTestsDefaultUser()
                                                throws java.sql.SQLException

      Specified by:
        `getNumFailedIdleTestsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumThreadsAwaitingCheckoutDefaultUser

          public int getNumThreadsAwaitingCheckoutDefaultUser()
                                                       throws java.sql.SQLException

      Specified by:
        `getNumThreadsAwaitingCheckoutDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getThreadPoolSize

          public int getThreadPoolSize()
                                throws java.sql.SQLException

      Specified by:
        `getThreadPoolSize` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getThreadPoolNumActiveThreads

          public int getThreadPoolNumActiveThreads()
                                            throws java.sql.SQLException

      Specified by:
        `getThreadPoolNumActiveThreads` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getThreadPoolNumIdleThreads

          public int getThreadPoolNumIdleThreads()
                                          throws java.sql.SQLException

      Specified by:
        `getThreadPoolNumIdleThreads` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getThreadPoolNumTasksPending

          public int getThreadPoolNumTasksPending()
                                           throws java.sql.SQLException

      Specified by:
        `getThreadPoolNumTasksPending` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleThreadPoolStackTraces

          public java.lang.String sampleThreadPoolStackTraces()
                                                       throws java.sql.SQLException

      Specified by:
        `sampleThreadPoolStackTraces` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleThreadPoolStatus

          public java.lang.String sampleThreadPoolStatus()
                                                  throws java.sql.SQLException

      Specified by:
        `sampleThreadPoolStatus` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleStatementCacheStatusDefaultUser

          public java.lang.String sampleStatementCacheStatusDefaultUser()
                                                                 throws java.sql.SQLException

      Specified by:
        `sampleStatementCacheStatusDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleStatementCacheStatus

          public java.lang.String sampleStatementCacheStatus(java.lang.String username,
                                                             java.lang.String password)
                                                      throws java.sql.SQLException

      Specified by:
        `sampleStatementCacheStatus` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastAcquisitionFailureDefaultUser

          public java.lang.Throwable getLastAcquisitionFailureDefaultUser()
                                                                   throws java.sql.SQLException

      Specified by:
        `getLastAcquisitionFailureDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastCheckinFailureDefaultUser

          public java.lang.Throwable getLastCheckinFailureDefaultUser()
                                                               throws java.sql.SQLException

      Specified by:
        `getLastCheckinFailureDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastCheckoutFailureDefaultUser

          public java.lang.Throwable getLastCheckoutFailureDefaultUser()
                                                                throws java.sql.SQLException

      Specified by:
        `getLastCheckoutFailureDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastIdleTestFailureDefaultUser

          public java.lang.Throwable getLastIdleTestFailureDefaultUser()
                                                                throws java.sql.SQLException

      Specified by:
        `getLastIdleTestFailureDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastConnectionTestFailureDefaultUser

          public java.lang.Throwable getLastConnectionTestFailureDefaultUser()
                                                                      throws java.sql.SQLException

      Specified by:
        `getLastConnectionTestFailureDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastAcquisitionFailure

          public java.lang.Throwable getLastAcquisitionFailure(java.lang.String username,
                                                               java.lang.String password)
                                                        throws java.sql.SQLException

      Specified by:
        `getLastAcquisitionFailure` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastCheckinFailure

          public java.lang.Throwable getLastCheckinFailure(java.lang.String username,
                                                           java.lang.String password)
                                                    throws java.sql.SQLException

      Specified by:
        `getLastCheckinFailure` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastCheckoutFailure

          public java.lang.Throwable getLastCheckoutFailure(java.lang.String username,
                                                            java.lang.String password)
                                                     throws java.sql.SQLException

      Specified by:
        `getLastCheckoutFailure` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastIdleTestFailure

          public java.lang.Throwable getLastIdleTestFailure(java.lang.String username,
                                                            java.lang.String password)
                                                     throws java.sql.SQLException

      Specified by:
        `getLastIdleTestFailure` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getLastConnectionTestFailure

          public java.lang.Throwable getLastConnectionTestFailure(java.lang.String username,
                                                                  java.lang.String password)
                                                           throws java.sql.SQLException

      Specified by:
        `getLastConnectionTestFailure` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumThreadsAwaitingCheckout

          public int getNumThreadsAwaitingCheckout(java.lang.String username,
                                                   java.lang.String password)
                                            throws java.sql.SQLException

      Specified by:
        `getNumThreadsAwaitingCheckout` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastAcquisitionFailureStackTraceDefaultUser

          public java.lang.String sampleLastAcquisitionFailureStackTraceDefaultUser()
                                                                             throws java.sql.SQLException

      Specified by:
        `sampleLastAcquisitionFailureStackTraceDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastCheckinFailureStackTraceDefaultUser

          public java.lang.String sampleLastCheckinFailureStackTraceDefaultUser()
                                                                         throws java.sql.SQLException

      Specified by:
        `sampleLastCheckinFailureStackTraceDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastCheckoutFailureStackTraceDefaultUser

          public java.lang.String sampleLastCheckoutFailureStackTraceDefaultUser()
                                                                          throws java.sql.SQLException

      Specified by:
        `sampleLastCheckoutFailureStackTraceDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastIdleTestFailureStackTraceDefaultUser

          public java.lang.String sampleLastIdleTestFailureStackTraceDefaultUser()
                                                                          throws java.sql.SQLException

      Specified by:
        `sampleLastIdleTestFailureStackTraceDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastConnectionTestFailureStackTraceDefaultUser

          public java.lang.String sampleLastConnectionTestFailureStackTraceDefaultUser()
                                                                                throws java.sql.SQLException

      Specified by:
        `sampleLastConnectionTestFailureStackTraceDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastAcquisitionFailureStackTrace

          public java.lang.String sampleLastAcquisitionFailureStackTrace(java.lang.String username,
                                                                         java.lang.String password)
                                                                  throws java.sql.SQLException

      Specified by:
        `sampleLastAcquisitionFailureStackTrace` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastCheckinFailureStackTrace

          public java.lang.String sampleLastCheckinFailureStackTrace(java.lang.String username,
                                                                     java.lang.String password)
                                                              throws java.sql.SQLException

      Specified by:
        `sampleLastCheckinFailureStackTrace` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastCheckoutFailureStackTrace

          public java.lang.String sampleLastCheckoutFailureStackTrace(java.lang.String username,
                                                                      java.lang.String password)
                                                               throws java.sql.SQLException

      Specified by:
        `sampleLastCheckoutFailureStackTrace` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastIdleTestFailureStackTrace

          public java.lang.String sampleLastIdleTestFailureStackTrace(java.lang.String username,
                                                                      java.lang.String password)
                                                               throws java.sql.SQLException

      Specified by:
        `sampleLastIdleTestFailureStackTrace` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleLastConnectionTestFailureStackTrace

          public java.lang.String sampleLastConnectionTestFailureStackTrace(java.lang.String username,
                                                                            java.lang.String password)
                                                                     throws java.sql.SQLException

      Specified by:
        `sampleLastConnectionTestFailureStackTrace` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### softResetDefaultUser

          public void softResetDefaultUser()
                                    throws java.sql.SQLException

      Description copied from interface: `PooledDataSource`
      Discards all Connections managed by the PooledDataSource's default-authentication pool and reacquires new Connections to populate. Current checked out Connections will still be valid, and should still be checked into the PooledDataSource (so the PooledDataSource can destroy them).
      Specified by:
        `softResetDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumConnections

          public int getNumConnections(java.lang.String username,
                                       java.lang.String password)
                                throws java.sql.SQLException

      Specified by:
        `getNumConnections` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumIdleConnections

          public int getNumIdleConnections(java.lang.String username,
                                           java.lang.String password)
                                    throws java.sql.SQLException

      Specified by:
        `getNumIdleConnections` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumBusyConnections

          public int getNumBusyConnections(java.lang.String username,
                                           java.lang.String password)
                                    throws java.sql.SQLException

      Specified by:
        `getNumBusyConnections` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumUnclosedOrphanedConnections

          public int getNumUnclosedOrphanedConnections(java.lang.String username,
                                                       java.lang.String password)
                                                throws java.sql.SQLException

      Specified by:
        `getNumUnclosedOrphanedConnections` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumStatements

          public int getStatementCacheNumStatements(java.lang.String username,
                                                    java.lang.String password)
                                             throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumStatements` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumCheckedOut

          public int getStatementCacheNumCheckedOut(java.lang.String username,
                                                    java.lang.String password)
                                             throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumCheckedOut` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumConnectionsWithCachedStatements

          public int getStatementCacheNumConnectionsWithCachedStatements(java.lang.String username,
                                                                         java.lang.String password)
                                                                  throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumConnectionsWithCachedStatements` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getEffectivePropertyCycle

          public float getEffectivePropertyCycle(java.lang.String username,
                                                 java.lang.String password)
                                          throws java.sql.SQLException

      Specified by:
        `getEffectivePropertyCycle` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStartTimeMillis

          public long getStartTimeMillis(java.lang.String username,
                                         java.lang.String password)
                                  throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getUpTimeMillis

          public long getUpTimeMillis(java.lang.String username,
                                      java.lang.String password)
                               throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getNumFailedCheckins

          public long getNumFailedCheckins(java.lang.String username,
                                           java.lang.String password)
                                    throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getNumFailedCheckouts

          public long getNumFailedCheckouts(java.lang.String username,
                                            java.lang.String password)
                                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getNumFailedIdleTests

          public long getNumFailedIdleTests(java.lang.String username,
                                            java.lang.String password)
                                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### softReset

          public void softReset(java.lang.String username,
                                java.lang.String password)
                         throws java.sql.SQLException

      Description copied from interface: `PooledDataSource`
      Discards all Connections managed by the PooledDataSource with the specified authentication credentials and reacquires new Connections to populate. Current checked out Connections will still be valid, and should still be checked into the PooledDataSource (so the PooledDataSource can destroy them).
      Specified by:
        `softReset` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumBusyConnectionsAllUsers

          public int getNumBusyConnectionsAllUsers()
                                            throws java.sql.SQLException

      Specified by:
        `getNumBusyConnectionsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumIdleConnectionsAllUsers

          public int getNumIdleConnectionsAllUsers()
                                            throws java.sql.SQLException

      Specified by:
        `getNumIdleConnectionsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumConnectionsAllUsers

          public int getNumConnectionsAllUsers()
                                        throws java.sql.SQLException

      Specified by:
        `getNumConnectionsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumUnclosedOrphanedConnectionsAllUsers

          public int getNumUnclosedOrphanedConnectionsAllUsers()
                                                        throws java.sql.SQLException

      Specified by:
        `getNumUnclosedOrphanedConnectionsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumStatementsAllUsers

          public int getStatementCacheNumStatementsAllUsers()
                                                     throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumStatementsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumCheckedOutStatementsAllUsers

          public int getStatementCacheNumCheckedOutStatementsAllUsers()
                                                               throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumCheckedOutStatementsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementCacheNumConnectionsWithCachedStatementsAllUsers

          public int getStatementCacheNumConnectionsWithCachedStatementsAllUsers()
                                                                          throws java.sql.SQLException

      Specified by:
        `getStatementCacheNumConnectionsWithCachedStatementsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumConnectionsInUseAllUsers

          public int getStatementDestroyerNumConnectionsInUseAllUsers()
                                                               throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumConnectionsInUseAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumConnectionsWithDeferredDestroyStatementsAllUsers

          public int getStatementDestroyerNumConnectionsWithDeferredDestroyStatementsAllUsers()
                                                                                       throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumConnectionsWithDeferredDestroyStatementsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumDeferredDestroyStatementsAllUsers

          public int getStatementDestroyerNumDeferredDestroyStatementsAllUsers()
                                                                        throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumDeferredDestroyStatementsAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumConnectionsInUseDefaultUser

          public int getStatementDestroyerNumConnectionsInUseDefaultUser()
                                                                  throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumConnectionsInUseDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumConnectionsWithDeferredDestroyStatementsDefaultUser

          public int getStatementDestroyerNumConnectionsWithDeferredDestroyStatementsDefaultUser()
                                                                                          throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumConnectionsWithDeferredDestroyStatementsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumDeferredDestroyStatementsDefaultUser

          public int getStatementDestroyerNumDeferredDestroyStatementsDefaultUser()
                                                                           throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumDeferredDestroyStatementsDefaultUser` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumThreads

          public int getStatementDestroyerNumThreads()
                                              throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumThreads` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumActiveThreads

          public int getStatementDestroyerNumActiveThreads()
                                                    throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumActiveThreads` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumIdleThreads

          public int getStatementDestroyerNumIdleThreads()
                                                  throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumIdleThreads` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumTasksPending

          public int getStatementDestroyerNumTasksPending()
                                                   throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumTasksPending` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumConnectionsInUse

          public int getStatementDestroyerNumConnectionsInUse(java.lang.String username,
                                                              java.lang.String password)
                                                       throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumConnectionsInUse` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumConnectionsWithDeferredDestroyStatements

          public int getStatementDestroyerNumConnectionsWithDeferredDestroyStatements(java.lang.String username,
                                                                                      java.lang.String password)
                                                                               throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumConnectionsWithDeferredDestroyStatements` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getStatementDestroyerNumDeferredDestroyStatements

          public int getStatementDestroyerNumDeferredDestroyStatements(java.lang.String username,
                                                                       java.lang.String password)
                                                                throws java.sql.SQLException

      Specified by:
        `getStatementDestroyerNumDeferredDestroyStatements` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleStatementDestroyerStackTraces

          public java.lang.String sampleStatementDestroyerStackTraces()
                                                               throws java.sql.SQLException

      Specified by:
        `sampleStatementDestroyerStackTraces` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### sampleStatementDestroyerStatus

          public java.lang.String sampleStatementDestroyerStatus()
                                                          throws java.sql.SQLException

      Specified by:
        `sampleStatementDestroyerStatus` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### softResetAllUsers

          public void softResetAllUsers()
                                 throws java.sql.SQLException

      Description copied from interface: `PooledDataSource`
      Discards all Connections managed by the PooledDataSource and reacquires new Connections to populate. Current checked out Connections will still be valid, and should still be checked into the PooledDataSource (so the PooledDataSource can destroy them).
      Specified by:
        `softResetAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getNumUserPools

          public int getNumUserPools()
                              throws java.sql.SQLException

      Specified by:
        `getNumUserPools` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### getAllUsers

          public java.util.Collection getAllUsers()
                                           throws java.sql.SQLException

      Specified by:
        `getAllUsers` in interface `PooledDataSource`
      Throws:
        `java.sql.SQLException`

    - #### hardReset

          public void hardReset()

      Description copied from interface: `PooledDataSource`
      Destroys all pooled and checked-out Connections associated with this DataSource immediately. The PooledDataSource is reset to its initial state prior to first Connection acquisition, with no pools yet active, but ready for requests.
      Specified by:
        `hardReset` in interface `PooledDataSource`

    - #### close

          public void close()

      Description copied from interface: `PooledDataSource`

      C3P0 pooled DataSources use no resources before they are actually used in a VM, and they close themselves in their finalize() method. When they are active and pooling, they may have open database connections and their pool may spawn several threads for its maintenance. You can use this method to clean these resource methods up quickly when you will no longer be using this DataSource. The resources will actually be cleaned up only if no other DataSources are sharing the same pool.

      You can equivalently use the static method destroy() in the DataSources class to clean-up these resources.

      This is equivalent to calling close( false ).

      Specified by:
        `close` in interface `PooledDataSource`
      See Also:
        `DataSources.destroy(javax.sql.DataSource)`

    - #### close

          public void close(boolean force_destroy)

      Deprecated. the force_destroy argument is now meaningless, as pools are no longer potentially shared between multiple DataSources.
      Description copied from interface: `PooledDataSource`

      Should be used only with great caution. If `force_destroy` is set to true, this immediately destroys any pool and cleans up all resources this DataSource may be using, even if other DataSources are sharing that pool! In general, it is difficult to know whether a pool is being shared by multiple DataSources. It may depend upon whether or not a JNDI implementation returns a single instance or multiple copies upon lookup (which is undefined by the JNDI spec).

      In general, this method should be used only when you wish to wind down all c3p0 pools in a ClassLoader. For example, when shutting down and restarting a web application that uses c3p0, you may wish to kill all threads making use of classes loaded by a web-app specific ClassLoader, so that the ClassLoader can be cleanly garbage collected. In this case, you may wish to use force destroy. Otherwise, it is much safer to use the simple destroy() method, which will not shut down pools that may still be in use.

      To close a pool normally, use the no argument close method, or set `force_destroy` to false.

      Specified by:
        `close` in interface `PooledDataSource`
      See Also:
        `PooledDataSource.close()`

    - #### resetPoolManager

          public void resetPoolManager()

    - #### resetPoolManager

          public void resetPoolManager(boolean close_checked_out_connections)

    - #### toString

          public abstract java.lang.String toString(boolean show_config)

    - #### isWrapperForThis

          protected final boolean isWrapperForThis(java.lang.Class<?> iface)

    - #### isWrapperFor

          public boolean isWrapperFor(java.lang.Class<?> iface)
                               throws java.sql.SQLException

      Specified by:
        `isWrapperFor` in interface `java.sql.Wrapper`
      Throws:
        `java.sql.SQLException`

    - #### unwrap

          public <T> T unwrap(java.lang.Class<T> iface)
                       throws java.sql.SQLException

      Specified by:
        `unwrap` in interface `java.sql.Wrapper`
      Throws:
        `java.sql.SQLException`