# Class UnmanagedPoolingDataSource

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

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

public class UnmanagedPoolingDataSource extends Object implements DataSource, AutoCloseable
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 final 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

  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 Object

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

  ### Methods inherited from interface CommonDataSource

  `createShardingKeyBuilder`

  ### Methods inherited from interface DataSource

  `createConnectionBuilder`

- ## Field Details

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

  - ### UnmanagedPoolingDataSource

    public UnmanagedPoolingDataSource(DataSource nonPoolingDataSource, PoolingDataSourceParameters parameters)

- ## Method Details

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