Package org.apache.cayenne.datasource

## Class UnmanagedPoolingDataSource

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

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

      public class UnmanagedPoolingDataSource
      extends Object
      implements PoolingDataSource

  A non-blocking `DataSource` with a pool of connections.
  Since:
    4.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `UnmanagedPoolingDataSource.ConnectionUnavailableException` | An exception indicating that a connection request waiting in the queue timed out and was unable to obtain a connection.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `MAX_QUEUE_WAIT_DEFAULT` | Defines a maximum time in milliseconds that a connection request could wait in the connection queue.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `UnmanagedPoolingDataSource​(DataSource nonPoolingDataSource, PoolingDataSourceParameters parameters)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` |
    `Connection` | `getConnection()` |
    `Connection` | `getConnection​(String userName, String password)` |
    `int` | `getLoginTimeout()` |
    `PrintWriter` | `getLogWriter()` |
    `Logger` | `getParentLogger()` |
    `boolean` | `isWrapperFor​(Class<?> iface)` |
    `void` | `setLoginTimeout​(int seconds)` |
    `void` | `setLogWriter​(PrintWriter out)` |
    `<T> T` | `unwrap​(Class<T> iface)` |

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

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

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

      `createShardingKeyBuilder`

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

      `createConnectionBuilder`

- - ### Field Detail

    - #### MAX_QUEUE_WAIT_DEFAULT

          public static final int MAX_QUEUE_WAIT_DEFAULT

      Defines a maximum time in milliseconds that a connection request could wait in the connection queue. After this period expires, an exception will be thrown in the calling method.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### UnmanagedPoolingDataSource

          public UnmanagedPoolingDataSource​(DataSource nonPoolingDataSource,
                                            PoolingDataSourceParameters parameters)

  - ### Method Detail

    - #### 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`

    - #### getLoginTimeout

          public int getLoginTimeout()
                              throws SQLException

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

    - #### setLoginTimeout

          public void setLoginTimeout​(int seconds)
                               throws SQLException

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

    - #### getLogWriter

          public PrintWriter getLogWriter()
                                   throws SQLException

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

    - #### setLogWriter

          public void setLogWriter​(PrintWriter out)
                            throws SQLException

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

    - #### isWrapperFor

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

      Specified by:
        `isWrapperFor` in interface `Wrapper`
      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`