org.apache.cayenne.datasource

## Class ManagedPoolingDataSource

- java.lang.Object
- - org.apache.cayenne.datasource.ManagedPoolingDataSource

- All Implemented Interfaces:
    AutoCloseable, Wrapper, CommonDataSource, DataSource, PoolingDataSource, ScopeEventListener

      public class ManagedPoolingDataSource
      extends Object
      implements PoolingDataSource, ScopeEventListener

  A wrapper for `UnmanagedPoolingDataSource` that automatically manages the underlying connection pool size.
  Since:
    4.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ManagedPoolingDataSource(UnmanagedPoolingDataSource dataSource)`
    `ManagedPoolingDataSource(UnmanagedPoolingDataSource dataSource, long managerWakeTime)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `beforeScopeEnd()` Calls `#shutdown()` to drain the underlying pool, close open connections and block the DataSource from creating any new connections.
    `void` | `close()`
    `Connection` | `getConnection()`
    `Connection` | `getConnection(String username, String password)`
    `int` | `getLoginTimeout()`
    `PrintWriter` | `getLogWriter()`
    `Logger` | `getParentLogger()`
    `boolean` | `isWrapperFor(Class<?> iface)`
    `void` | `setLoginTimeout(int arg0)`
    `void` | `setLogWriter(PrintWriter arg0)`
    `<T> T` | `unwrap(Class<T> iface)`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ManagedPoolingDataSource

          public ManagedPoolingDataSource(UnmanagedPoolingDataSource dataSource)

    - #### ManagedPoolingDataSource

          public ManagedPoolingDataSource(UnmanagedPoolingDataSource dataSource,
                                          long managerWakeTime)

  - ### Method Detail

    - #### beforeScopeEnd

          public void beforeScopeEnd()

      Calls `#shutdown()` to drain the underlying pool, close open connections and block the DataSource from creating any new connections.
      Specified by:
        `beforeScopeEnd` in interface `ScopeEventListener`

    - #### close

          public void close()

      Specified by:
        `close` in interface `AutoCloseable`

    - #### getConnection

          public Connection getConnection()
                                   throws SQLException

      Specified by:
        `getConnection` in interface `DataSource`
      Throws:
        `SQLException`

    - #### getConnection

          public Connection getConnection(String username,
                                          String password)
                                   throws SQLException

      Specified by:
        `getConnection` in interface `DataSource`
      Throws:
        `SQLException`

    - #### getLogWriter

          public PrintWriter getLogWriter()
                                   throws SQLException

      Specified by:
        `getLogWriter` in interface `CommonDataSource`
      Throws:
        `SQLException`

    - #### getLoginTimeout

          public int getLoginTimeout()
                              throws SQLException

      Specified by:
        `getLoginTimeout` in interface `CommonDataSource`
      Throws:
        `SQLException`

    - #### isWrapperFor

          public boolean isWrapperFor(Class<?> iface)
                               throws SQLException

      Specified by:
        `isWrapperFor` in interface `Wrapper`
      Throws:
        `SQLException`

    - #### setLogWriter

          public void setLogWriter(PrintWriter arg0)
                            throws SQLException

      Specified by:
        `setLogWriter` in interface `CommonDataSource`
      Throws:
        `SQLException`

    - #### setLoginTimeout

          public void setLoginTimeout(int arg0)
                               throws SQLException

      Specified by:
        `setLoginTimeout` in interface `CommonDataSource`
      Throws:
        `SQLException`

    - #### unwrap

          public <T> T unwrap(Class<T> iface)
                       throws SQLException

      Specified by:
        `unwrap` in interface `Wrapper`
      Throws:
        `SQLException`

    - #### getParentLogger

          public Logger getParentLogger()
                                 throws SQLFeatureNotSupportedException

      Specified by:
        `getParentLogger` in interface `CommonDataSource`
      Throws:
        `SQLFeatureNotSupportedException`

Copyright © 2001–2023 Apache Cayenne. All rights reserved.