Module java.sql
Package javax.sql

## Interface ConnectionPoolDataSource

All Superinterfaces:
  CommonDataSource

    public interface ConnectionPoolDataSource
    extends CommonDataSource

A factory for `PooledConnection` objects. An object that implements this interface will typically be registered with a naming service that is based on the Java™ Naming and Directory Interface (JNDI).

Since:
  1.4

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default PooledConnectionBuilder` `createPooledConnectionBuilder()` Creates a new `PooledConnectionBuilder` instance
`PooledConnection` `getPooledConnection()` Attempts to establish a physical database connection that can be used as a pooled connection.
`PooledConnection` `getPooledConnection(String user, String password)` Attempts to establish a physical database connection that can be used as a pooled connection.

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

`createShardingKeyBuilder, getLoginTimeout, getLogWriter, getParentLogger, setLoginTimeout, setLogWriter`

### Method Detail

#### getPooledConnection

    PooledConnection getPooledConnection()
                                  throws SQLException

Attempts to establish a physical database connection that can be used as a pooled connection.

Returns:
  a `PooledConnection` object that is a physical connection to the database that this `ConnectionPoolDataSource` object represents
Throws:
  `SQLException` - if a database access error occurs
  `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.4

#### getPooledConnection

    PooledConnection getPooledConnection(String user,
                                         String password)
                                  throws SQLException

Attempts to establish a physical database connection that can be used as a pooled connection.

Parameters:
  `user` - the database user on whose behalf the connection is being made
  `password` - the user's password
Returns:
  a `PooledConnection` object that is a physical connection to the database that this `ConnectionPoolDataSource` object represents
Throws:
  `SQLException` - if a database access error occurs
  `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.4

#### createPooledConnectionBuilder

    default PooledConnectionBuilder createPooledConnectionBuilder()
                                                           throws SQLException

Creates a new `PooledConnectionBuilder` instance

Implementation Requirements:
  The default implementation will throw a `SQLFeatureNotSupportedException`.
Returns:
  The ConnectionBuilder instance that was created
Throws:
  `SQLException` - if an error occurs creating the builder
  `SQLFeatureNotSupportedException` - if the driver does not support sharding
Since:
  9
See Also:
  `PooledConnectionBuilder`