Skip navigation links

Oracle® Universal Connection Pool for JDBC Java API Reference
12c Release 1 (12.1)

E17662-07


oracle.ucp.jdbc
Class PoolDataSourceImpl

java.lang.Object
  extended by oracle.ucp.jdbc.PoolDataSourceImpl

All Implemented Interfaces:
java.io.Serializable, java.sql.Wrapper, javax.naming.Referenceable, javax.naming.spi.ObjectFactory, javax.sql.CommonDataSource, javax.sql.DataSource, PoolDataSource, UniversalConnectionPoolAdapter
Direct Known Subclasses:
PoolXADataSourceImpl

public class PoolDataSourceImpl
extends java.lang.Object
implements PoolDataSource, java.io.Serializable, javax.naming.Referenceable, javax.naming.spi.ObjectFactory, UniversalConnectionPoolAdapter

A connection pool-aware data source. This DataSource uses the Universal Connection Pool to get a connection, creating a proxy to that connection, and returning the proxy to the client. When the client calls close on the connection proxy, the underlying physical connection is returned to the pool.

Besides other data source properties, applications must set the connection factory class name. The connection factory class is a class that implements javax.sql.DataSource and does not implement its own connection pooling. The connection factory's getConnection(...) methods should return a physical JDBC connection to the database. For example, "oracle.jdbc.pool.OracleDataSource" is a valid connection factory class name.

See Also:
Serialized Form

Field Summary
protected  java.lang.Object m_connectionFactory
           
protected  java.lang.String m_connectionFactoryClassName
           
protected  oracle.ucp.jdbc.JDBCConnectionPool m_cp
           

 

Fields inherited from interface oracle.ucp.jdbc.PoolDataSource
UCP_ABANDONED_CONNECTION_TIMEOUT, UCP_CONNECTION_FACTORY_CLASS_NAME, UCP_CONNECTION_FACTORY_PROPERTIES, UCP_CONNECTION_HARVEST_MAX_COUNT, UCP_CONNECTION_HARVEST_TRIGGER_COUNT, UCP_CONNECTION_POOL_NAME, UCP_CONNECTION_PROPERTIES, UCP_CONNECTION_WAIT_TIMEOUT, UCP_DATA_SOURCE_NAME, UCP_DATABASE_NAME, UCP_DESCRIPTION, UCP_FAST_CONNECTION_FAILOVER_ENABLED, UCP_INACTIVE_CONNECTION_TIMEOUT, UCP_INITIAL_POOL_SIZE, UCP_MAX_CONNECTION_REUSE_COUNT, UCP_MAX_CONNECTION_REUSE_TIME, UCP_MAX_IDLE_TIME, UCP_MAX_POOL_SIZE, UCP_MAX_STATEMENTS, UCP_MIN_POOL_SIZE, UCP_NETWORK_PROTOCOL, UCP_NTH_RETURNED_CONNECTION_TO_VALIDATE, UCP_ONS_CONFIGURATION, UCP_PASSWORD, UCP_PORT_NUMBER, UCP_PROPERTY_CYCLE, UCP_ROLE_NAME, UCP_SERVER_NAME, UCP_SQL_FOR_VALIDATE_CONNECTION, UCP_TIME_TO_LIVE_CONNECTION_TIMEOUT, UCP_TIMEOUT_CHECK_INTERVAL, UCP_URL, UCP_USER, UCP_VALIDATE_CONNECTION_ON_BORROW

 

Constructor Summary
PoolDataSourceImpl()
           

 

Method Summary
protected  void createPoolWithDefaultProperties()
           
 UniversalConnectionPool createUniversalConnectionPool()
          Creates a Universal Connection Pool instance using this adapter.
 UniversalConnectionPoolMBean createUniversalConnectionPoolMBean()
          Creates a Universal Connection Pool MBean using this adapter.
 int getAbandonedConnectionTimeout()
          Gets the abandoned connection timeout value.
 int getAvailableConnectionsCount()
          Gets the number of available connections in the pool.
 int getBorrowedConnectionsCount()
          Gets the number of borrowed connections from the pool.
 java.sql.Connection getConnection()
          Attempts to obtain a database connection.
 java.sql.Connection getConnection(java.util.Properties labels)
          Attempts to obtain a database connection with the requested connection labels.
 java.sql.Connection getConnection(java.lang.String username, java.lang.String password)
          Attempts to obtain a database connection.
 java.sql.Connection getConnection(java.lang.String username, java.lang.String password, java.util.Properties labels)
          Attempts to obtain a database connection with the requested connection labels.
 java.lang.String getConnectionFactoryClassName()
          Gets the Connection Factory class name.
 java.util.Properties getConnectionFactoryProperties()
          Gets the connection factory properties that are set on this data source.
 java.lang.String getConnectionFactoryProperty(java.lang.String propertyName)
          Gets the specified connection factory property that are set on this data source.
 int getConnectionHarvestMaxCount()
          Gets the maximum number of connections that may be harvested when the connection harvesting occurs.
 int getConnectionHarvestTriggerCount()
          Gets the number of available connections at which the connection pool's connection harvesting will occur.
 ConnectionInitializationCallback getConnectionInitializationCallback()
          Obtains the registered connection initialization callback, if any.
 java.lang.String getConnectionPoolName()
          Gets the connection pool name.
 java.util.Properties getConnectionProperties()
          Gets the connection properties that are set on this data source.
 java.lang.String getConnectionProperty(java.lang.String propertyName)
          Gets the specified connection property that are set on this data source.
 int getConnectionWaitTimeout()
          Gets the amount of time to wait (in seconds) for a used connection to be released by a client.
 java.lang.String getDatabaseName()
          Gets the database name.
 java.lang.String getDataSourceName()
          Gets the data source name.
 java.lang.String getDescription()
          Gets the data source description.
 boolean getFastConnectionFailoverEnabled()
          Checks if Fast Connection Failover is enabled.
 int getInactiveConnectionTimeout()
          Gets the inactive connection timeout.
 int getInitialPoolSize()
          Gets the initial pool size.
 int getLoginTimeout()
           
 java.io.PrintWriter getLogWriter()
           
 int getMaxConnectionReuseCount()
          Gets the connection reuse count property.
 long getMaxConnectionReuseTime()
          Gets the connection reuse time property.
 int getMaxIdleTime()
          Gets Idle timeout value.
 int getMaxPoolSize()
          Gets the maximum number of connections that the connection pool will maintain.
 int getMaxStatements()
          Gets the maximum number of statements that may be pooled or cached on a Connection.
 int getMinPoolSize()
          Gets the minimum number of connections that the connection pool will maintain.
 java.lang.String getNetworkProtocol()
          Gets the datasource networkProtocol.
 java.lang.Object getObjectInstance(java.lang.Object refObj, javax.naming.Name name, javax.naming.Context nameCtx, java.util.Hashtable env)
           
 java.lang.String getONSConfiguration()
          Returns the ONS configuration string that is used for remote ONS subscription, in the form specified in setONSConfiguration(String).
 java.lang.String getPassword()
          Gets the Password for this data source.
 int getPortNumber()
          Gets the database port number.
 int getPropertyCycle()
          Gets Property cycle in seconds.
 javax.naming.Reference getReference()
           
 java.lang.String getRoleName()
          Gets the datasource role name.
 java.lang.String getServerName()
          Gets the database server name.
 java.lang.String getSQLForValidateConnection()
          Gets the Value for SQLForValidateConnection property.
 JDBCConnectionPoolStatistics getStatistics()
          Gets the statistics of the connection pool.
 int getTimeoutCheckInterval()
          Gets the timeout check interval (in seconds).
 int getTimeToLiveConnectionTimeout()
          Gets the maximum time (in seconds) a connection may remain in-use.
 java.lang.String getURL()
          Gets the URL for this data source.
 java.lang.String getUser()
          Gets the user name for this data source.
 boolean getValidateConnectionOnBorrow()
          Returns whether or not a connection being borrowed should first be validated.
 boolean isWrapperFor(java.lang.Class<?> iface)
          Since this class is not a wrapper, just check to see if this implements the requested interface.
 void registerConnectionAffinityCallback(ConnectionAffinityCallback cbk)
          Registers a ConnectionAffinityCallback on the connection pool.
 void registerConnectionInitializationCallback(ConnectionInitializationCallback cbk)
          Registers a connection initialization callback.
 void registerConnectionLabelingCallback(ConnectionLabelingCallback cbk)
          Registers a ConnectionLabelingCallback with the underlying connection pool.
 void removeConnectionAffinityCallback()
          Removes the ConnectionAffinityCallback registered on the connection pool.
 void removeConnectionLabelingCallback()
          Removes the ConnectionLabelingCallback object registered with the underlying connection pool, if any.
 void setAbandonedConnectionTimeout(int abandonedConnectionTimeout)
          Sets the abandoned connection timeout.
 void setConnectionFactoryClassName(java.lang.String factoryClassName)
          Sets the Connection Factory class name.
 void setConnectionFactoryProperties(java.util.Properties factoryProperties)
          Sets the connection factory properties on the connection factory.
 void setConnectionFactoryProperty(java.lang.String name, java.lang.String value)
          Sets a connection factory property on the connection factory.
 void setConnectionHarvestMaxCount(int connectionHarvestMaxCount)
          Sets the maximum number of connections that may be harvested when the connection harvesting occurs.
 void setConnectionHarvestTriggerCount(int connectionHarvestTriggerCount)
          Sets the number of available connections at which the connection pool's connection harvesting will occur.
 void setConnectionPoolName(java.lang.String connectionPoolName)
          Sets the connection pool name.
 void setConnectionProperties(java.util.Properties connectionProperties)
          Sets the connection properties on the connection factory.
 void setConnectionProperty(java.lang.String name, java.lang.String value)
          Sets a connection property on the connection factory.
 void setConnectionWaitTimeout(int waitTimeout)
          Sets the amount of time to wait (in seconds) for a used connection to be released by a client.
 void setDatabaseName(java.lang.String databaseName)
          Sets the database name.
 void setDataSourceName(java.lang.String dataSourceName)
          Sets the data source name.
 void setDescription(java.lang.String description)
          Sets the data source description.
 void setFastConnectionFailoverEnabled(boolean failoverEnabled)
          Enables Fast Connection Failover (FCF) for the connection pool accessed using this pool-enabled data source.
 void setInactiveConnectionTimeout(int inactivityTimeout)
          Sets the inactive connection timeout.
 void setInitialPoolSize(int initialPoolSize)
          Sets the initial pool size.
 void setLoginTimeout(int seconds)
           
 void setLogWriter(java.io.PrintWriter out)
           
 void setMaxConnectionReuseCount(int maxConnectionReuseCount)
          Gets the connection reuse count property.
 void setMaxConnectionReuseTime(long maxConnectionReuseTime)
          Gets the connection reuse time property.
 void setMaxIdleTime(int idleTime)
          Sets Idle timeout for available connections in the pool.
 void setMaxPoolSize(int maxPoolSize)
          Sets the maximum number of connections.
 void setMaxStatements(int maxStatements)
          Sets the maximum number of statements that may be pooled or cached on a connection.
 void setMinPoolSize(int minPoolSize)
          Sets the minimum number of connections.
 void setNetworkProtocol(java.lang.String networkProtocol)
          Sets the datasource networkProtocol.
 void setONSConfiguration(java.lang.String onsConfigStr)
          Sets the configuration string used for remote ONS subscription.
 void setPassword(java.lang.String password)
          Sets the password with which connections have to be obtained.
 void setPortNumber(int portNumber)
          Sets the database port number.
 void setPropertyCycle(int propertyCycle)
          Sets Property cycle in seconds.
 void setRoleName(java.lang.String roleName)
          Sets the datasource role name.
 void setServerName(java.lang.String serverName)
          Sets the database server name.
 void setSQLForValidateConnection(java.lang.String SQLString)
          Sets the value(SQL) for SQLForValidateConnection property.
 void setTimeoutCheckInterval(int timeInterval)
          Sets the timeoutCheckInterval (in seconds).
 void setTimeToLiveConnectionTimeout(int timeToLiveConnectionTimeout)
          Sets the maximum time (in seconds) a connection may remain in-use.
 void setURL(java.lang.String url)
          Sets the URL that the data source uses to obtain connections to the database.
 void setUser(java.lang.String user)
          Sets the user name with which connections have to be obtained.
 void setValidateConnectionOnBorrow(boolean validateConnectionOnBorrow)
          Sets whether or not a connection being borrowed should first be validated.
 void startPool()
          This helper method gets all the pool properties for pool initialization, creates a pool and starts it.
static java.lang.Object toBasicType(java.lang.String value, java.lang.String type)
           
 void unregisterConnectionInitializationCallback()
          Unregisters the connection initialization callback on this pool.
<T> T
unwrap(java.lang.Class<T> iface)
          Since this class is not a wrapper, just check to see if this implements the requested interface.

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

m_connectionFactoryClassName

protected java.lang.String m_connectionFactoryClassName

m_connectionFactory

protected java.lang.Object m_connectionFactory

m_cp

protected oracle.ucp.jdbc.JDBCConnectionPool m_cp

Constructor Detail

PoolDataSourceImpl

public PoolDataSourceImpl()

Method Detail

startPool

public void startPool()
               throws java.sql.SQLException
This helper method gets all the pool properties for pool initialization, creates a pool and starts it.
Throws:
java.sql.SQLException - if a database-access error occurs.

createPoolWithDefaultProperties

protected void createPoolWithDefaultProperties()
                                        throws java.sql.SQLException
Throws:
java.sql.SQLException

createUniversalConnectionPool

public UniversalConnectionPool createUniversalConnectionPool()
                                                      throws java.sql.SQLException
Creates a Universal Connection Pool instance using this adapter. Pool and connection factory configuration properties should be set on this adapter prior to invoking this method.

This method should not register the created pool instance with the Universal Connection Pool Manager. The method createConnectionPool on the UniversalConnectionPoolManager is responsible for that.

This method is intended to be used in association with a UniversalConnectionPoolManager or MBean. Do not directly invoke this method from an instance of this class.

Specified by:
createUniversalConnectionPool in interface UniversalConnectionPoolAdapter
Returns:
The created Universal Connection Pool instance.
Throws:
java.sql.SQLException - If any error occurs during the process of connection pool creation.
See Also:
UniversalConnectionPoolManager

createUniversalConnectionPoolMBean

public UniversalConnectionPoolMBean createUniversalConnectionPoolMBean()
                                                                throws java.sql.SQLException
Creates a Universal Connection Pool MBean using this adapter. If a Universal Connection Pool instance is not yet created, this method must first create a pool instance, in which case pool and connection factory configuration properties should be set on this adapter prior to invoking this method.

This method should not register the created pool MBean with the MBean server. The operation createConnectionPool on the UniversalConnectionPoolManagerMBean is responsible for that.

Specified by:
createUniversalConnectionPoolMBean in interface UniversalConnectionPoolAdapter
Returns:
The created Universal Connection Pool MBean.
Throws:
java.sql.SQLException - If any error occurs during the process of connection pool creation.
See Also:
UniversalConnectionPoolManagerMBean

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
Attempts to obtain a database connection.
Specified by:
getConnection in interface javax.sql.DataSource
Returns:
A Connection to the database.
Throws:
java.sql.SQLException - if a database-access error occurs.

getConnection

public java.sql.Connection getConnection(java.lang.String username,
                                         java.lang.String password)
                                  throws java.sql.SQLException
Attempts to obtain a database connection.
Specified by:
getConnection in interface javax.sql.DataSource
Parameters:
username - The database user on whose behalf the connection is being made.
password - The user's password.
Returns:
A Connection to the database.
Throws:
java.sql.SQLException - if a database-access error occurs.

getConnection

public java.sql.Connection getConnection(java.util.Properties labels)
                                  throws java.sql.SQLException
Attempts to obtain a database connection with the requested connection labels.
Specified by:
getConnection in interface PoolDataSource
Parameters:
labels - The requested connection labels.
Returns:
A Connection to the database.
Throws:
java.sql.SQLException - if a database-access error occurs.

getConnection

public java.sql.Connection getConnection(java.lang.String username,
                                         java.lang.String password,
                                         java.util.Properties labels)
                                  throws java.sql.SQLException
Attempts to obtain a database connection with the requested connection labels.
Specified by:
getConnection in interface PoolDataSource
Parameters:
username - The database user on whose behalf the connection is being made.
password - The user's password.
labels - The requested connection labels.
Returns:
A Connection to the database.
Throws:
java.sql.SQLException - if a database-access error occurs.

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

setLoginTimeout

public void setLoginTimeout(int seconds)
                     throws java.sql.SQLException
Specified by:
setLoginTimeout 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

getUser

public java.lang.String getUser()
Description copied from interface: PoolDataSource
Gets the user name for this data source.
Specified by:
getUser in interface PoolDataSource
Returns:
userName for this data source.

setUser

public void setUser(java.lang.String user)
             throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the user name with which connections have to be obtained.
Specified by:
setUser in interface PoolDataSource
Parameters:
user - Username to be set.
Throws:
java.sql.SQLException

getPassword

public java.lang.String getPassword()
Description copied from interface: PoolDataSource
Gets the Password for this data source.
Specified by:
getPassword in interface PoolDataSource
Returns:
password for this data source.

setPassword

public void setPassword(java.lang.String password)
                 throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the password with which connections have to be obtained.
Specified by:
setPassword in interface PoolDataSource
Parameters:
password - Password to be set.
Throws:
java.sql.SQLException

getURL

public java.lang.String getURL()
Description copied from interface: PoolDataSource
Gets the URL for this data source.
Specified by:
getURL in interface PoolDataSource
Returns:
URL for this data source.

setURL

public void setURL(java.lang.String url)
            throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the URL that the data source uses to obtain connections to the database.
Specified by:
setURL in interface PoolDataSource
Parameters:
url - URL to be set.
Throws:
java.sql.SQLException

setServerName

public void setServerName(java.lang.String serverName)
                   throws java.sql.SQLException
Sets the database server name.
Specified by:
setServerName in interface PoolDataSource
Parameters:
serverName - Database server name to be set.
Throws:
java.sql.SQLException

getServerName

public java.lang.String getServerName()
Gets the database server name.
Specified by:
getServerName in interface PoolDataSource
Returns:
Database server name.

setPortNumber

public void setPortNumber(int portNumber)
                   throws java.sql.SQLException
Sets the database port number.
Specified by:
setPortNumber in interface PoolDataSource
Parameters:
portNumber - Database port number to be set.
Throws:
java.sql.SQLException

getPortNumber

public int getPortNumber()
Gets the database port number.
Specified by:
getPortNumber in interface PoolDataSource
Returns:
Database port number.

setDatabaseName

public void setDatabaseName(java.lang.String databaseName)
                     throws java.sql.SQLException
Sets the database name.
Specified by:
setDatabaseName in interface PoolDataSource
Parameters:
databaseName - Database name to be set.
Throws:
java.sql.SQLException

getDatabaseName

public java.lang.String getDatabaseName()
Gets the database name.
Specified by:
getDatabaseName in interface PoolDataSource
Returns:
Database name.

setDataSourceName

public void setDataSourceName(java.lang.String dataSourceName)
                       throws java.sql.SQLException
Sets the data source name.
Specified by:
setDataSourceName in interface PoolDataSource
Parameters:
dataSourceName - data source name to be set.
Throws:
java.sql.SQLException

getDataSourceName

public java.lang.String getDataSourceName()
Gets the data source name.
Specified by:
getDataSourceName in interface PoolDataSource
Returns:
data source name.

setDescription

public void setDescription(java.lang.String description)
                    throws java.sql.SQLException
Sets the data source description.
Specified by:
setDescription in interface PoolDataSource
Parameters:
description - data source description to be set.
Throws:
java.sql.SQLException

getDescription

public java.lang.String getDescription()
Gets the data source description.
Specified by:
getDescription in interface PoolDataSource
Returns:
data source description.

setNetworkProtocol

public void setNetworkProtocol(java.lang.String networkProtocol)
                        throws java.sql.SQLException
Sets the datasource networkProtocol.
Specified by:
setNetworkProtocol in interface PoolDataSource
Parameters:
networkProtocol - datasource networkProtocol to be set.
Throws:
java.sql.SQLException

getNetworkProtocol

public java.lang.String getNetworkProtocol()
Gets the datasource networkProtocol.
Specified by:
getNetworkProtocol in interface PoolDataSource
Returns:
datasource networkProtocol.

setRoleName

public void setRoleName(java.lang.String roleName)
                 throws java.sql.SQLException
Sets the datasource role name.
Specified by:
setRoleName in interface PoolDataSource
Parameters:
roleName - datasource role name to be set.
Throws:
java.sql.SQLException

getRoleName

public java.lang.String getRoleName()
Gets the datasource role name.
Specified by:
getRoleName in interface PoolDataSource
Returns:
datasource role name.

setInitialPoolSize

public void setInitialPoolSize(int initialPoolSize)
                        throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the initial pool size. This is the number of connections that will be created and placed in the pool when the pool is started.

The range of valid values is 0 to Integer.MAX_VALUE. It is illegal to set this to a value greater than the maximum pool size. Defaults to 0.

Specified by:
setInitialPoolSize in interface PoolDataSource
Parameters:
initialPoolSize - the initial pool size.
Throws:
java.sql.SQLException

getInitialPoolSize

public int getInitialPoolSize()
Description copied from interface: PoolDataSource
Gets the initial pool size.
Specified by:
getInitialPoolSize in interface PoolDataSource
Returns:
the initial pool size.

setMinPoolSize

public void setMinPoolSize(int minPoolSize)
                    throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the minimum number of connections. If the number of available connections + the number of connections in use < the minimum then the connection is returned to the pool. Otherwise, the connection is closed.

The range of valid values is 0 to Integer.MAX_VALUE. It is illegal to set this to a value greater than the maximum pool size. Defaults to 0.

Specified by:
setMinPoolSize in interface PoolDataSource
Parameters:
minPoolSize - The minimum number of connections.
Throws:
java.sql.SQLException

getMinPoolSize

public int getMinPoolSize()
Description copied from interface: PoolDataSource
Gets the minimum number of connections that the connection pool will maintain.
Specified by:
getMinPoolSize in interface PoolDataSource
Returns:
The minimum number of connections.

setMaxPoolSize

public void setMaxPoolSize(int maxPoolSize)
                    throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the maximum number of connections. The maximum number of connections includes the number of connections that are in use as well as the number of available connections.

The range of valid values is 1 to Integer.MAX_VALUE. Defaults to Integer.MAX_VALUE.

Specified by:
setMaxPoolSize in interface PoolDataSource
Parameters:
maxPoolSize - The maximum number of connections.
Throws:
java.sql.SQLException

getMaxPoolSize

public int getMaxPoolSize()
Description copied from interface: PoolDataSource
Gets the maximum number of connections that the connection pool will maintain.
Specified by:
getMaxPoolSize in interface PoolDataSource
Returns:
The maximum number of connections.

setInactiveConnectionTimeout

public void setInactiveConnectionTimeout(int inactivityTimeout)
                                  throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the inactive connection timeout. This timeout determines how long an available connection remains in the connection pool before it is removed from the pool.

The range of valid values is 0 to Integer.MAX_VALUE. Defaults to 0.

Setting the value to 0 disables inactive connection timeout processing.

Specified by:
setInactiveConnectionTimeout in interface PoolDataSource
Parameters:
inactivityTimeout - The inactive connection timeout in seconds.
Throws:
java.sql.SQLException

getInactiveConnectionTimeout

public int getInactiveConnectionTimeout()
Description copied from interface: PoolDataSource
Gets the inactive connection timeout.
Specified by:
getInactiveConnectionTimeout in interface PoolDataSource
Returns:
The inactivity timeout.

setConnectionWaitTimeout

public void setConnectionWaitTimeout(int waitTimeout)
                              throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the amount of time to wait (in seconds) for a used connection to be released by a client.

The range of valid values is 0 to Integer.MAX_VALUE. Defaults to 3.

Setting the value to 0 disables connection wait timeout processing.

Specified by:
setConnectionWaitTimeout in interface PoolDataSource
Parameters:
waitTimeout - The amount of time to wait.
Throws:
java.sql.SQLException

getConnectionWaitTimeout

public int getConnectionWaitTimeout()
Description copied from interface: PoolDataSource
Gets the amount of time to wait (in seconds) for a used connection to be released by a client. This only applies when the maximum number of connections has been borrowed from the connection pool. When a client tries to borrow a connection from the pool and all connections are in use, the connection pool waits for a connection to be released back to the pool.
Specified by:
getConnectionWaitTimeout in interface PoolDataSource
Returns:
The connection wait timeout.

setTimeToLiveConnectionTimeout

public void setTimeToLiveConnectionTimeout(int timeToLiveConnectionTimeout)
                                    throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the maximum time (in seconds) a connection may remain in-use.

The range of valid values is 0 to Integer.MAX_VALUE. Defaults to 0.

Setting the value to 0 disables time-to-live connection timeout processing.

Specified by:
setTimeToLiveConnectionTimeout in interface PoolDataSource
Parameters:
timeToLiveConnectionTimeout - The maximum time (in seconds) a used connection may be active.
Throws:
java.sql.SQLException

getTimeToLiveConnectionTimeout

public int getTimeToLiveConnectionTimeout()
Description copied from interface: PoolDataSource
Gets the maximum time (in seconds) a connection may remain in-use. When this timeout expires, the used connection is unconditionally returned to the connection pool. A value of 0 means that the feature is not enabled.
Specified by:
getTimeToLiveConnectionTimeout in interface PoolDataSource
Returns:
The maximum time (in seconds) a used connection may be active.

getAbandonedConnectionTimeout

public int getAbandonedConnectionTimeout()
Description copied from interface: PoolDataSource
Gets the abandoned connection timeout value.
Specified by:
getAbandonedConnectionTimeout in interface PoolDataSource
Returns:
The abandoned connection timeout.

setAbandonedConnectionTimeout

public void setAbandonedConnectionTimeout(int abandonedConnectionTimeout)
                                   throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the abandoned connection timeout. This timeout determines how long a borrowed connection can remain unused before it is considered as abandoned and reclaimed by the connection pool.

The range of valid values is 0 to Integer.MAX_VALUE. Defaults to 0.

Setting the value to 0 disables abandoned connection timeout.

Specified by:
setAbandonedConnectionTimeout in interface PoolDataSource
Parameters:
abandonedConnectionTimeout - The value of how long a connection has not been used before it is abandoned (in seconds).
Throws:
java.sql.SQLException

setTimeoutCheckInterval

public void setTimeoutCheckInterval(int timeInterval)
                             throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the timeoutCheckInterval (in seconds). This interval specifies how often the timeout properties such as InactiveConnectionTimeout, AbandonedConnectionTimeout, and TimeToLiveConnectionTimeout are enforced.

The range of valid values is 0 to Integer.MAX_VALUE. Defaults to 30.

Setting the value to 0 disables all connection timeout processing.

Specified by:
setTimeoutCheckInterval in interface PoolDataSource
Parameters:
timeInterval - The timeInterval (in seconds) between checks to enforce the timeout properties.
Throws:
java.sql.SQLException

getTimeoutCheckInterval

public int getTimeoutCheckInterval()
Description copied from interface: PoolDataSource
Gets the timeout check interval (in seconds).
Specified by:
getTimeoutCheckInterval in interface PoolDataSource
Returns:
timeInterval The timeInterval (in seconds) between checks to enforce the timeout properties.

setFastConnectionFailoverEnabled

public void setFastConnectionFailoverEnabled(boolean failoverEnabled)
                                      throws java.sql.SQLException
Description copied from interface: PoolDataSource
Enables Fast Connection Failover (FCF) for the connection pool accessed using this pool-enabled data source. By default, FCF is disabled.
Specified by:
setFastConnectionFailoverEnabled in interface PoolDataSource
Parameters:
failoverEnabled - true if Fast Connection Failover is enabled; false if not.
Throws:
java.sql.SQLException

getFastConnectionFailoverEnabled

public boolean getFastConnectionFailoverEnabled()
Description copied from interface: PoolDataSource
Checks if Fast Connection Failover is enabled.
Specified by:
getFastConnectionFailoverEnabled in interface PoolDataSource
Returns:
true if Fast Connection Failover is enabled; false if not.

getConnectionFactoryClassName

public java.lang.String getConnectionFactoryClassName()
Description copied from interface: PoolDataSource
Gets the Connection Factory class name.
Specified by:
getConnectionFactoryClassName in interface PoolDataSource
Returns:
Name of the connection factory class specified.

setConnectionFactoryClassName

public void setConnectionFactoryClassName(java.lang.String factoryClassName)
                                   throws java.sql.SQLException
Description copied from interface: PoolDataSource
Sets the Connection Factory class name. This is the connection factory used by the connection pool to create physical connections. Must be set for PoolDataSource to operate.
Specified by:
setConnectionFactoryClassName in interface PoolDataSource
Parameters:
factoryClassName - Connection factory class name for obtaining physical connections.
Throws:
java.sql.SQLException

setMaxStatements

public void setMaxStatements(int maxStatements)
                      throws java.sql.SQLException
Sets the maximum number of statements that may be pooled or cached on a connection. This is used to enable the statement pooling.
Specified by:
setMaxStatements in interface PoolDataSource
Parameters:
maxStatements - maximum number of statements to be pooled.
Throws:
java.sql.SQLException - Exception occurred during the process of setting maximum statements that may be pooled on a connection.

getMaxStatements

public int getMaxStatements()
Gets the maximum number of statements that may be pooled or cached on a Connection.
Specified by:
getMaxStatements in interface PoolDataSource
Returns:
The maximum number of statements that may be pooled or cached on a Connection.

setMaxIdleTime

public void setMaxIdleTime(int idleTime)
                    throws java.sql.SQLException
Sets Idle timeout for available connections in the pool.
Specified by:
setMaxIdleTime in interface PoolDataSource
Parameters:
idleTime - Idle timeout value in seconds.
Throws:
java.sql.SQLException

getMaxIdleTime

public int getMaxIdleTime()
Gets Idle timeout value.
Specified by:
getMaxIdleTime in interface PoolDataSource
Returns:
Idle timeout.

setPropertyCycle

public void setPropertyCycle(int propertyCycle)
                      throws java.sql.SQLException
Sets Property cycle in seconds. This is the time interval between checks to enforce connection pool timeout properties.
Specified by:
setPropertyCycle in interface PoolDataSource
Parameters:
propertyCycle - Time interval in seconds to enforce connection pool timeout properties.
Throws:
java.sql.SQLException

getPropertyCycle

public int getPropertyCycle()
Gets Property cycle in seconds.
Specified by:
getPropertyCycle in interface PoolDataSource
Returns:
PropertyCycle value.

setConnectionPoolName

public void setConnectionPoolName(java.lang.String connectionPoolName)
                           throws java.sql.SQLException
Sets the connection pool name. This property allows the user to specify a String value to name a connection pool instance.
Specified by:
setConnectionPoolName in interface PoolDataSource
Parameters:
connectionPoolName - Name of connection pool.
Throws:
java.sql.SQLException

getConnectionPoolName

public java.lang.String getConnectionPoolName()
Gets the connection pool name.
Specified by:
getConnectionPoolName in interface PoolDataSource
Returns:
connectionpoolName.

setValidateConnectionOnBorrow

public void setValidateConnectionOnBorrow(boolean validateConnectionOnBorrow)
                                   throws java.sql.SQLException
Sets whether or not a connection being borrowed should first be validated.
Specified by:
setValidateConnectionOnBorrow in interface PoolDataSource
Parameters:
validateConnectionOnBorrow - Whether or not a connection being borrowed should first be validated.
Throws:
java.sql.SQLException

getValidateConnectionOnBorrow

public boolean getValidateConnectionOnBorrow()
Returns whether or not a connection being borrowed should first be validated.
Specified by:
getValidateConnectionOnBorrow in interface PoolDataSource
Returns:
Whether or not a connection being borrowed should first be validated.

setSQLForValidateConnection

public void setSQLForValidateConnection(java.lang.String SQLString)
                                 throws java.sql.SQLException
Sets the value(SQL) for SQLForValidateConnection property. This is used in conjunction with the ValidateConnectionOnBorrow property. The SQL specified should be applicable to back end database and the JDBC driver configured.
Specified by:
setSQLForValidateConnection in interface PoolDataSource
Parameters:
SQLString - The SQL string used for connection validation.
Throws:
java.sql.SQLException

getSQLForValidateConnection

public java.lang.String getSQLForValidateConnection()
Gets the Value for SQLForValidateConnection property.
Specified by:
getSQLForValidateConnection in interface PoolDataSource
Returns:
SQLForValidateConnection value.

getConnectionHarvestTriggerCount

public int getConnectionHarvestTriggerCount()
Gets the number of available connections at which the connection pool's connection harvesting will occur.
Specified by:
getConnectionHarvestTriggerCount in interface PoolDataSource
Returns:
The number of available connections at which the connection pool's connection harvesting will occur.

setConnectionHarvestTriggerCount

public void setConnectionHarvestTriggerCount(int connectionHarvestTriggerCount)
                                      throws java.sql.SQLException
Sets the number of available connections at which the connection pool's connection harvesting will occur.
Specified by:
setConnectionHarvestTriggerCount in interface PoolDataSource
Parameters:
connectionHarvestTriggerCount - The number of available connections at which the connection pool's connection harvesting will occur.
Throws:
java.sql.SQLException

getConnectionHarvestMaxCount

public int getConnectionHarvestMaxCount()
Gets the maximum number of connections that may be harvested when the connection harvesting occurs. Note that it is possible that the number of connections that are harvested may be anywhere from 0 to the connectionHarvestMaxCount.
Specified by:
getConnectionHarvestMaxCount in interface PoolDataSource
Returns:
The maximum number of connections that may be harvested when the connection harvesting occurs.

setConnectionHarvestMaxCount

public void setConnectionHarvestMaxCount(int connectionHarvestMaxCount)
                                  throws java.sql.SQLException
Sets the maximum number of connections that may be harvested when the connection harvesting occurs.
Specified by:
setConnectionHarvestMaxCount in interface PoolDataSource
Parameters:
connectionHarvestMaxCount - the maximum number of connections that may be harvested when the connection harvesting occurs.
Throws:
java.sql.SQLException

getMaxConnectionReuseTime

public long getMaxConnectionReuseTime()
Gets the connection reuse time property.
Specified by:
getMaxConnectionReuseTime in interface PoolDataSource
Returns:
connection reuse time (in seconds), 0 value means that the feature is disabled.

setMaxConnectionReuseTime

public void setMaxConnectionReuseTime(long maxConnectionReuseTime)
                               throws java.sql.SQLException
Gets the connection reuse time property.
Specified by:
setMaxConnectionReuseTime in interface PoolDataSource
Parameters:
connection - reuse time (in seconds), 0 value means that the feature is disabled.
Throws:
java.sql.SQLException

getMaxConnectionReuseCount

public int getMaxConnectionReuseCount()
Gets the connection reuse count property.
Specified by:
getMaxConnectionReuseCount in interface PoolDataSource
Returns:
connection reuse count, 0 value means that the feature is disabled.

setMaxConnectionReuseCount

public void setMaxConnectionReuseCount(int maxConnectionReuseCount)
                                throws java.sql.SQLException
Gets the connection reuse count property.
Specified by:
setMaxConnectionReuseCount in interface PoolDataSource
Parameters:
connection - reuse count, 0 value means that the feature is disabled.
Throws:
java.sql.SQLException

getAvailableConnectionsCount

public int getAvailableConnectionsCount()
Gets the number of available connections in the pool.
Specified by:
getAvailableConnectionsCount in interface PoolDataSource
Returns:
AvailableConnectionsCount.

getBorrowedConnectionsCount

public int getBorrowedConnectionsCount()
Gets the number of borrowed connections from the pool.
Specified by:
getBorrowedConnectionsCount in interface PoolDataSource
Returns:
BorrowedConnectionsCount.

getONSConfiguration

public java.lang.String getONSConfiguration()
                                     throws java.sql.SQLException
Returns the ONS configuration string that is used for remote ONS subscription, in the form specified in setONSConfiguration(String). This is used by Fast Connection Failover and Runtime Load Balancing.
Specified by:
getONSConfiguration in interface PoolDataSource
Returns:
The ONS configuration string used for remote ONS subscription.
Throws:
java.sql.SQLException

setONSConfiguration

public void setONSConfiguration(java.lang.String onsConfigStr)
                         throws java.sql.SQLException
Sets the configuration string used for remote ONS subscription. The parameter string closely resembles the content of the ONS configuration file "ons.config", and contains a list of "<name>=<value>" pairs separated by newline character '\n', where <name> can be one of "nodes", "walletfile", or "walletpassword". The parameter string should at least specify the ONS configuration attribute "nodes", as a list of host:port pairs separated by comma ','. SSL would be used when the "walletfile" attribute is specified as an Oracle wallet file.

An example ONS configuration string:

   "nodes=host1:4200,host2:4200\nwalletfile=wfile\nwalletpassword=wpwd"
 

This is used primarily by Fast Connection Failover and Runtime Load Balancing.

Specified by:
setONSConfiguration in interface PoolDataSource
Parameters:
onsConfigStr - The configuration string for remote ONS subscription.
Throws:
java.sql.SQLException

registerConnectionLabelingCallback

public void registerConnectionLabelingCallback(ConnectionLabelingCallback cbk)
                                        throws java.sql.SQLException
Registers a ConnectionLabelingCallback with the underlying connection pool.
Specified by:
registerConnectionLabelingCallback in interface PoolDataSource
Parameters:
cbk - The ConnectionLabelingCallback object to be registered.
Throws:
java.sql.SQLException - If there is a callback already registered with the pool.

removeConnectionLabelingCallback

public void removeConnectionLabelingCallback()
                                      throws java.sql.SQLException
Removes the ConnectionLabelingCallback object registered with the underlying connection pool, if any.
Specified by:
removeConnectionLabelingCallback in interface PoolDataSource
Throws:
java.sql.SQLException - If callback removal fails.

registerConnectionAffinityCallback

public void registerConnectionAffinityCallback(ConnectionAffinityCallback cbk)
                                        throws java.sql.SQLException
Registers a ConnectionAffinityCallback on the connection pool.
Specified by:
registerConnectionAffinityCallback in interface PoolDataSource
Parameters:
cbk - Affinity Callback object that must be registered.
Throws:
java.sql.SQLException - If callback registration fails.

removeConnectionAffinityCallback

public void removeConnectionAffinityCallback()
                                      throws java.sql.SQLException
Removes the ConnectionAffinityCallback registered on the connection pool.
Specified by:
removeConnectionAffinityCallback in interface PoolDataSource
Throws:
java.sql.SQLException - If callback removal fails.

getStatistics

public JDBCConnectionPoolStatistics getStatistics()
Gets the statistics of the connection pool.
Specified by:
getStatistics in interface PoolDataSource
Returns:
The statistics of the connection pool.

getConnectionProperties

public java.util.Properties getConnectionProperties()
Gets the connection properties that are set on this data source.
Specified by:
getConnectionProperties in interface PoolDataSource
Returns:
Connection properties.

getConnectionProperty

public java.lang.String getConnectionProperty(java.lang.String propertyName)
Gets the specified connection property that are set on this data source.
Specified by:
getConnectionProperty in interface PoolDataSource
Parameters:
propertyName - The name of the specified property.
Returns:
The value of the inquired connection property. Null if the property is not set.

setConnectionProperty

public void setConnectionProperty(java.lang.String name,
                                  java.lang.String value)
                           throws java.sql.SQLException
Sets a connection property on the connection factory. This is used only for DataSource connection factories that also support connection properties; for example, the oracle.jdbc.pool.OracleDataSource in the Oracle JDBC driver.
Specified by:
setConnectionProperty in interface PoolDataSource
Parameters:
name - The name of the connection property to be set on the connection factory class.
value - The value of the connection property to be set on the connection factory class.
Throws:
java.sql.SQLException - If any exception occurred while setting the connection property.
See Also:
setConnectionFactoryProperties

setConnectionProperties

public void setConnectionProperties(java.util.Properties connectionProperties)
                             throws java.sql.SQLException
Sets the connection properties on the connection factory. This is used only for DataSource connection factories that also support connection properties; for example, the oracle.jdbc.pool.OracleDataSource in the Oracle JDBC driver.
Specified by:
setConnectionProperties in interface PoolDataSource
Parameters:
connectionProperties - Connection properties to be set on the connection factory class.
Throws:
java.sql.SQLException - If any exception occurred while setting the connection properties.
See Also:
setConnectionFactoryProperties

getConnectionFactoryProperties

public java.util.Properties getConnectionFactoryProperties()
Gets the connection factory properties that are set on this data source.
Specified by:
getConnectionFactoryProperties in interface PoolDataSource
Returns:
Connection factory properties.

getConnectionFactoryProperty

public java.lang.String getConnectionFactoryProperty(java.lang.String propertyName)
Gets the specified connection factory property that are set on this data source.
Specified by:
getConnectionFactoryProperty in interface PoolDataSource
Parameters:
propertyName - The name of the specified property.
Returns:
The value of the inquired connection factory property. Null if the property is not set.

setConnectionFactoryProperty

public void setConnectionFactoryProperty(java.lang.String name,
                                         java.lang.String value)
                                  throws java.sql.SQLException
Sets a connection factory property on the connection factory.

For connection factories that implement java.sql.Driver, the connection factory property specified here will be assumed as a connection property.

For DataSource connection factories, the property specified here will be assumed as a DataSource property.

Specified by:
setConnectionFactoryProperty in interface PoolDataSource
Parameters:
name - The name of the connection factory property to be set on the connection factory class.
value - The value of the connection factory property to be set on the connection factory class.
Throws:
java.sql.SQLException - If any exception occurred while setting the connection factory property.
java.lang.IllegalArgumentException - If the property name or value is invalid.

setConnectionFactoryProperties

public void setConnectionFactoryProperties(java.util.Properties factoryProperties)
                                    throws java.sql.SQLException
Sets the connection factory properties on the connection factory.

For connection factories that implement java.sql.Driver, the connection factory properties specified here will be assumed as the connection properties.

For DataSource connection factories, the properties specified here will be assumed as the DataSource properties.

Specified by:
setConnectionFactoryProperties in interface PoolDataSource
Parameters:
factoryProperties - Connection factory properties to be set on the connection factory class.
Throws:
java.sql.SQLException - If any exception occurred while setting the connection factory properties.
java.lang.IllegalArgumentException - If factoryProperties is empty.

toBasicType

public static final java.lang.Object toBasicType(java.lang.String value,
                                                 java.lang.String type)

getReference

public javax.naming.Reference getReference()
                                    throws javax.naming.NamingException
Specified by:
getReference in interface javax.naming.Referenceable
Throws:
javax.naming.NamingException

getObjectInstance

public java.lang.Object getObjectInstance(java.lang.Object refObj,
                                          javax.naming.Name name,
                                          javax.naming.Context nameCtx,
                                          java.util.Hashtable env)
                                   throws java.lang.Exception
Specified by:
getObjectInstance in interface javax.naming.spi.ObjectFactory
Throws:
java.lang.Exception

isWrapperFor

public boolean isWrapperFor(java.lang.Class<?> iface)
                     throws java.sql.SQLException
Since this class is not a wrapper, just check to see if this implements the requested interface.
Specified by:
isWrapperFor in interface java.sql.Wrapper
Parameters:
iface - Requested interface.
Returns:
true If this implements the requested interface.
Throws:
java.sql.SQLException - If the argument is not an interface.
Since:
JDBC 4.0

unwrap

public <T> T unwrap(java.lang.Class<T> iface)
         throws java.sql.SQLException
Since this class is not a wrapper, just check to see if this implements the requested interface.
Specified by:
unwrap in interface java.sql.Wrapper
Parameters:
iface - Requested interface.
Returns:
this If this implements the requested interface.
Throws:
java.sql.SQLException - If this does not implement the arg or the arg is not an interface.
Since:
JDBC 4.0

registerConnectionInitializationCallback

public void registerConnectionInitializationCallback(ConnectionInitializationCallback cbk)
                                              throws java.sql.SQLException
Registers a connection initialization callback.
Specified by:
registerConnectionInitializationCallback in interface PoolDataSource
Parameters:
cbk - The ConnectionInitializationCallback object to be registered.
Throws:
java.sql.SQLException - If there is a callback already registered with the pool.

unregisterConnectionInitializationCallback

public void unregisterConnectionInitializationCallback()
                                                throws java.sql.SQLException
Unregisters the connection initialization callback on this pool.
Specified by:
unregisterConnectionInitializationCallback in interface PoolDataSource
Throws:
java.sql.SQLException - If callback removal fails.

getConnectionInitializationCallback

public ConnectionInitializationCallback getConnectionInitializationCallback()
Obtains the registered connection initialization callback, if any.
Specified by:
getConnectionInitializationCallback in interface PoolDataSource
Returns:
The registered ConnectionInitializationCallback, or null if there is no callback registered.

Skip navigation links

Oracle® Universal Connection Pool for JDBC Java API Reference
12c Release 1 (12.1)

E17662-07


Copyright © 2007, 2013, Oracle and/or its affiliates. All rights reserved.