Skip navigation links

Oracle Fusion Middleware
Java API Reference for Oracle WebLogic Server
12c (12.2.1)

Part Number E55141-01
P4 Change 1723563 on 2015/10/09


weblogic.j2ee.descriptor.wl
Interface JDBCConnectionPoolParamsBean

All Superinterfaces:
SettableBean

public interface JDBCConnectionPoolParamsBean
extends SettableBean

Contains the connection pool parameters of a data source.

Configuration parameters for a data source's connection pool are specified using the connection pool parameters bean.


Method Summary
abstract  int getCapacityIncrement()
          Deprecated. 10.3.6.0
abstract  int getConnectionCreationRetryFrequencySeconds()
          The number of seconds between attempts to establish connections to the database.
abstract  int getConnectionHarvestMaxCount()
          The maximum number of connections that may be harvested when the connection harvesting occurs.
abstract  int getConnectionHarvestTriggerCount()
          Specifies the number of available connections (trigger value) used to determine when connection harvesting occurs.
abstract  String getConnectionLabelingCallback()
          The class name of the connection labeling callback.
abstract  int getConnectionReserveTimeoutSeconds()
          The number of seconds after which a call to reserve a connection from the connection pool will timeout.
abstract  int getCountOfRefreshFailuresTillDisable()
          Specifies the number of reconnect failures allowed before WebLogic Server disables a connection pool to minimize the delay in handling the connection request caused by a database failure.
abstract  int getCountOfTestFailuresTillFlush()
          Specifies the number of test failures allowed before WebLogic Server closes all unused connections in a connection pool to minimize the delay caused by further database testing.
abstract  String getDriverInterceptor()
          Specifies the absolute name of the application class used to intercept method calls to the JDBC driver.
abstract  String getFatalErrorCodes()
          Specifies a comma-separated list of error codes that are treated as fatal errors.
abstract  int getHighestNumWaiters()
          The maximum number of connection requests that can concurrently block threads while waiting to reserve a connection from the data source's connection pool.
abstract  int getInactiveConnectionTimeoutSeconds()
          The number of inactive seconds on a reserved connection before WebLogic Server reclaims the connection and releases it back into the connection pool.
abstract  int getInitialCapacity()
          The number of physical connections to create when creating the connection pool in the data source.
abstract  String getInitSql()
          SQL statement to execute that will initialize newly created physical database connections.
abstract  int getJDBCXADebugLevel()
          Specifies level of JDBC debugging for XA drivers, where larger values in the range provide more debugging information.
abstract  int getLoginDelaySeconds()
          The number of seconds to delay before creating each physical database connection.
abstract  int getMaxCapacity()
          The maximum number of physical connections that this connection pool can contain.
abstract  int getMinCapacity()
          The minimum number of physical connections that this connection pool can contain after it is initialized.
abstract  int getProfileConnectionLeakTimeoutSeconds()
          The number of seconds that a JDBC connection needs to be held by an application before triggering a connection leak diagnostic profiling record.
abstract  int getProfileHarvestFrequencySeconds()
          The number of seconds between when WebLogic Server harvests profile data.
abstract  int getProfileType()
          Specifies that type of profile data to be collected for the JDBC subsystem.
abstract  int getSecondsToTrustAnIdlePoolConnection()
          The number of seconds within a connection use that WebLogic Server trusts that the connection is still viable and will skip the connection test, either before delivering it to an application or during the periodic connection testing process.
abstract  int getShrinkFrequencySeconds()
          The number of seconds to wait before shrinking a connection pool that has incrementally increased to meet demand.
abstract  int getStatementCacheSize()
          The number of prepared and callable statements stored in the cache.
abstract  String getStatementCacheType()
          The algorithm used for maintaining the prepared statements stored in the statement cache.
abstract  int getStatementTimeout()
          The time after which a statement currently being executed will time out.
abstract  int getTestFrequencySeconds()
          The number of seconds a WebLogic Server instance waits between attempts when testing unused connections.
abstract  String getTestTableName()
          The name of the database table to use when testing physical database connections.
abstract  boolean isCredentialMappingEnabled()
          Enables Set Client ID on connection for the data source.
abstract  boolean isIdentityBasedConnectionPoolingEnabled()
          Enables identity-based-connection-pooling for the data source.
abstract  boolean isIgnoreInUseConnectionsEnabled()
          Enables the data source to be shutdown even if connections obtained from the pool are still in use.
abstract  boolean isPinnedToThread()
          Enables an option to improve performance by enabling execute threads to keep a pooled database connection even after the application closes the logical connection.
abstract  boolean isRemoveInfectedConnections()
          Specifies whether a connection will be removed from the connection pool after the application uses the underlying vendor connection object.
abstract  boolean isTestConnectionsOnReserve()
          Enables WebLogic Server to test a connection before giving it to a client.
abstract  boolean isWrapJdbc()
          By default, SQL objects for CallableStatement, PreparedStatement, ResultSet, Statement, and DatabaseMetaData are wrapped with a WebLogic wrapper.
abstract  boolean isWrapTypes()
          By default, data type objects for Array, Blob, Clob, NClob, Ref, SQLXML, and Struct, plus ParameterMetaData and ResultSetMetaData objects are wrapped with a WebLogic wrapper.
abstract  void setCapacityIncrement(int capacityIncrement)
          Deprecated. 10.3.6.0
abstract  void setConnectionCreationRetryFrequencySeconds(int connectionCreationRetryFrequencySeconds)
           
abstract  void setConnectionHarvestMaxCount(int connectionHarvestMaxCount)
           
abstract  void setConnectionHarvestTriggerCount(int connectionHarvestTriggerCount)
           
abstract  void setConnectionLabelingCallback(String className)
           
abstract  void setConnectionReserveTimeoutSeconds(int connectionReserveTimeoutSeconds)
           
abstract  void setCountOfRefreshFailuresTillDisable(int countOfRefreshFailuresTillDisable)
           
abstract  void setCountOfTestFailuresTillFlush(int countOfTestFailuresTillFlush)
           
abstract  void setCredentialMappingEnabled(boolean credentialMappingEnabled)
           
abstract  void setDriverInterceptor(String driverInterceptor)
           
abstract  void setFatalErrorCodes(String fatalErrorCodes)
           
abstract  void setHighestNumWaiters(int highestNumWaiters)
           
abstract  void setIdentityBasedConnectionPoolingEnabled(boolean identityBasedConnectionPoolingEnabled)
           
abstract  void setIgnoreInUseConnectionsEnabled(boolean ignoreInUseConnectionsEnabled)
           
abstract  void setInactiveConnectionTimeoutSeconds(int inactiveConnectionTimeoutSeconds)
           
abstract  void setInitialCapacity(int initialCapacity)
           
abstract  void setInitSql(String initSql)
           
abstract  void setJDBCXADebugLevel(int jdbcXaDebugLevel)
           
abstract  void setLoginDelaySeconds(int loginDelaySeconds)
           
abstract  void setMaxCapacity(int maxCapacity)
           
abstract  void setMinCapacity(int minCapacity)
           
abstract  void setPinnedToThread(boolean pinnedToThread)
           
abstract  void setProfileConnectionLeakTimeoutSeconds(int seconds)
           
abstract  void setProfileHarvestFrequencySeconds(int profileHarvestFrequencySeconds)
           
abstract  void setProfileType(int profileType)
           
abstract  void setRemoveInfectedConnections(boolean removeInfectedConnections)
           
abstract  void setSecondsToTrustAnIdlePoolConnection(int secondsToTrustAnIdlePoolConnection)
           
abstract  void setShrinkFrequencySeconds(int shrinkFrequencySeconds)
           
abstract  void setStatementCacheSize(int statementCacheSize)
           
abstract  void setStatementCacheType(String statementCacheType)
           
abstract  void setStatementTimeout(int statementTimeout)
           
abstract  void setTestConnectionsOnReserve(boolean testConnectionsOnReserve)
           
abstract  void setTestFrequencySeconds(int testFrequencySeconds)
           
abstract  void setTestTableName(String testTableName)
           
abstract  void setWrapJdbc(boolean wrapJdbc)
           
abstract  void setWrapTypes(boolean wrapTypes)
           

 

Method Detail

getInitialCapacity

int getInitialCapacity()

The number of physical connections to create when creating the connection pool in the data source. If unable to create this number of connections, creation of the data source will fail.


setInitialCapacity

void setInitialCapacity(int initialCapacity)

getMaxCapacity

int getMaxCapacity()

The maximum number of physical connections that this connection pool can contain.


setMaxCapacity

void setMaxCapacity(int maxCapacity)

getMinCapacity

int getMinCapacity()

The minimum number of physical connections that this connection pool can contain after it is initialized.


setMinCapacity

void setMinCapacity(int minCapacity)

getCapacityIncrement

int getCapacityIncrement()
Deprecated. 10.3.6.0

The increment by which this JDBC connection pool's capacity is expanded. In WebLogic Server 10.3.1 and higher releases, the capacityIncrement is no longer configurable and is set to a value of 1.

When there are no more available physical connections to service requests, the connection pool will create this number of additional physical database connections and add them to the connection pool. The connection pool will ensure that it does not exceed the maximum number of physical connections.


setCapacityIncrement

void setCapacityIncrement(int capacityIncrement)
Deprecated. 10.3.6.0

getShrinkFrequencySeconds

int getShrinkFrequencySeconds()

The number of seconds to wait before shrinking a connection pool that has incrementally increased to meet demand.

When set to 0, shrinking is disabled.


setShrinkFrequencySeconds

void setShrinkFrequencySeconds(int shrinkFrequencySeconds)

getHighestNumWaiters

int getHighestNumWaiters()

The maximum number of connection requests that can concurrently block threads while waiting to reserve a connection from the data source's connection pool.


setHighestNumWaiters

void setHighestNumWaiters(int highestNumWaiters)

getConnectionCreationRetryFrequencySeconds

int getConnectionCreationRetryFrequencySeconds()

The number of seconds between attempts to establish connections to the database.

If you do not set this value, data source creation fails if the database is unavailable. If set and if the database is unavailable when the data source is created, WebLogic Server will attempt to create connections in the pool again after the number of seconds you specify, and will continue to attempt to create the connections until it succeeds.

When set to 0, connection retry is disabled.


setConnectionCreationRetryFrequencySeconds

void setConnectionCreationRetryFrequencySeconds(int connectionCreationRetryFrequencySeconds)

getConnectionReserveTimeoutSeconds

int getConnectionReserveTimeoutSeconds()

The number of seconds after which a call to reserve a connection from the connection pool will timeout.

When set to 0, a call will never timeout.

When set to -1, a call will timeout immediately.


setConnectionReserveTimeoutSeconds

void setConnectionReserveTimeoutSeconds(int connectionReserveTimeoutSeconds)

getTestFrequencySeconds

int getTestFrequencySeconds()

The number of seconds a WebLogic Server instance waits between attempts when testing unused connections. (Requires that you specify a Test Table Name.) Connections that fail the test are closed and reopened to re-establish a valid physical connection. If the test fails again, the connection is closed.

In the context of multi data sources, this attribute controls the frequency at which WebLogic Server checks the health of data sources it had previously marked as unhealthy.

When set to 0, the feature is disabled.


setTestFrequencySeconds

void setTestFrequencySeconds(int testFrequencySeconds)

isTestConnectionsOnReserve

boolean isTestConnectionsOnReserve()

Enables WebLogic Server to test a connection before giving it to a client. (Requires that you specify a Test Table Name.)

The test adds a small delay in serving the client's request for a connection from the pool, but ensures that the client receives a viable connection.


setTestConnectionsOnReserve

void setTestConnectionsOnReserve(boolean testConnectionsOnReserve)

getProfileHarvestFrequencySeconds

int getProfileHarvestFrequencySeconds()

The number of seconds between when WebLogic Server harvests profile data.

When set to 0, harvesting of data is disabled.


setProfileHarvestFrequencySeconds

void setProfileHarvestFrequencySeconds(int profileHarvestFrequencySeconds)

isIgnoreInUseConnectionsEnabled

boolean isIgnoreInUseConnectionsEnabled()

Enables the data source to be shutdown even if connections obtained from the pool are still in use.


setIgnoreInUseConnectionsEnabled

void setIgnoreInUseConnectionsEnabled(boolean ignoreInUseConnectionsEnabled)

getInactiveConnectionTimeoutSeconds

int getInactiveConnectionTimeoutSeconds()

The number of inactive seconds on a reserved connection before WebLogic Server reclaims the connection and releases it back into the connection pool.

You can use the Inactive Connection Timeout feature to reclaim leaked connections - connections that were not explicitly closed by the application. Note that this feature is not intended to be used in place of properly closing connections.

When set to 0, the feature is disabled.


setInactiveConnectionTimeoutSeconds

void setInactiveConnectionTimeoutSeconds(int inactiveConnectionTimeoutSeconds)

getTestTableName

String getTestTableName()

The name of the database table to use when testing physical database connections. This name is required when you specify a Test Frequency and enable Test Reserved Connections.

The default SQL code used to test a connection is select count(*) from TestTableName

Most database servers optimize this SQL to avoid a table scan, but it is still a good idea to set the Test Table Name to the name of a table that is known to have few rows, or even no rows.

If the Test Table Name begins with SQL, then the rest of the string following that leading token will be taken as a literal SQL statement that will be used to test connections instead of the standard query. For example: SQL BEGIN; Null; END;

For an Oracle database, you can reduce the overhead of connection testing by setting Test Table Name to SQL PINGDATABASE which uses the pingDatabase() method to test the Oracle connection. For any JDBC 4.0 database, it is possible to use "SQL ISVALID" to use the isValid() method on the connection.


setTestTableName

void setTestTableName(String testTableName)

getLoginDelaySeconds

int getLoginDelaySeconds()

The number of seconds to delay before creating each physical database connection. This delay supports database servers that cannot handle multiple connection requests in rapid succession.

The delay takes place both during initial data source creation and during the lifetime of the data source whenever a physical database connection is created.


setLoginDelaySeconds

void setLoginDelaySeconds(int loginDelaySeconds)

getInitSql

String getInitSql()

SQL statement to execute that will initialize newly created physical database connections. Start the statement with SQL followed by a space.

If the Init SQL value begins with "SQL ", then the rest of the string following that leading token will be taken as a literal SQL statement that will be used to initialize database connections. If the Init SQL value does not begin with "SQL ", the value will be treated as the name of a table and the following SQL statement will be used to initialize connections:

"select count(*) from InitSQL"

The table InitSQL must exist and be accessible to the database user for the connection. Most database servers optimize this SQL to avoid a table scan, but it is still a good idea to set InitSQL to the name of a table that is known to have few rows, or even no rows.


setInitSql

void setInitSql(String initSql)

getStatementCacheSize

int getStatementCacheSize()

The number of prepared and callable statements stored in the cache. (This may increase server performance.)

WebLogic Server can reuse statements in the cache without reloading the statements, which can increase server performance. Each connection in the connection pool has its own cache of statements.

Setting the size of the statement cache to 0 turns off statement caching.


setStatementCacheSize

void setStatementCacheSize(int statementCacheSize)

getStatementCacheType

String getStatementCacheType()

The algorithm used for maintaining the prepared statements stored in the statement cache.

Options are:


setStatementCacheType

void setStatementCacheType(String statementCacheType)

isRemoveInfectedConnections

boolean isRemoveInfectedConnections()

Specifies whether a connection will be removed from the connection pool after the application uses the underlying vendor connection object.

If you disable removing infected connections, you must make sure that the database connection is suitable for reuse by other applications.

When set to true (the default), the physical connection is not returned to the connection pool after the application closes the logical connection. Instead, the physical connection is closed and recreated.

When set to false, when the application closes the logical connection, the physical connection is returned to the connection pool and can be reused by the application or by another application.


setRemoveInfectedConnections

void setRemoveInfectedConnections(boolean removeInfectedConnections)

getSecondsToTrustAnIdlePoolConnection

int getSecondsToTrustAnIdlePoolConnection()

The number of seconds within a connection use that WebLogic Server trusts that the connection is still viable and will skip the connection test, either before delivering it to an application or during the periodic connection testing process.

This option is an optimization that minimizes the performance impact of connection testing, especially during heavy traffic.


setSecondsToTrustAnIdlePoolConnection

void setSecondsToTrustAnIdlePoolConnection(int secondsToTrustAnIdlePoolConnection)

getStatementTimeout

int getStatementTimeout()

The time after which a statement currently being executed will time out.

StatementTimeout relies on underlying JDBC driver support. WebLogic Server passes the time specified to the JDBC driver using the java.sql.Statement.setQueryTimeout() method. If your JDBC driver does not support this method, it may throw an exception and the timeout value is ignored.

A value of -1 disables this feature.

A value of 0 means that statements will not time out.


setStatementTimeout

void setStatementTimeout(int statementTimeout)

getProfileType

int getProfileType()

Specifies that type of profile data to be collected for the JDBC subsystem.

You can specify combinations of the following profile types:


setProfileType

void setProfileType(int profileType)

getJDBCXADebugLevel

int getJDBCXADebugLevel()

Specifies level of JDBC debugging for XA drivers, where larger values in the range provide more debugging information.


setJDBCXADebugLevel

void setJDBCXADebugLevel(int jdbcXaDebugLevel)

isCredentialMappingEnabled

boolean isCredentialMappingEnabled()

Enables Set Client ID on connection for the data source. When an application requests a database connection, WebLogic Server sets a light-weight client ID on the database connection.

By default, it uses the credential mapping to map WebLogic Server user IDs to database user IDs. However, if use-database-credentials is set to true, then the credential mapping is not done and the ID is used directly as a database user ID.

It is currently supported for IBM DB2 driver and Oracle thin driver. Support for this feature will be dropped in a future Oracle thin driver release. Oracle recommends using proxy authentication instead of this feature.


setCredentialMappingEnabled

void setCredentialMappingEnabled(boolean credentialMappingEnabled)

getDriverInterceptor

String getDriverInterceptor()

Specifies the absolute name of the application class used to intercept method calls to the JDBC driver. The application specified must implement the weblogic.jdbc.extensions.DriverInterceptor interface.

Weblogic Server will invoke the preInvokeCallback(), postInvokeExceptionCallback(), and postInvokeCallback() methods of the registered application before and after invoking any method inside the JDBC driver. You can use this feature to profile JDBC driver usage and monitor:


setDriverInterceptor

void setDriverInterceptor(String driverInterceptor)

isPinnedToThread

boolean isPinnedToThread()

Enables an option to improve performance by enabling execute threads to keep a pooled database connection even after the application closes the logical connection.

When enabled:


setPinnedToThread

void setPinnedToThread(boolean pinnedToThread)

isIdentityBasedConnectionPoolingEnabled

boolean isIdentityBasedConnectionPoolingEnabled()

Enables identity-based-connection-pooling for the data source. When an application requests a database connection, WebLogic Server picks or creates a physical connection with requested DBMS identity based on a map of WebLogic user IDs and database IDs.

You must also specify the map of WebLogic Server user IDs to database user IDs (credential mapping).


setIdentityBasedConnectionPoolingEnabled

void setIdentityBasedConnectionPoolingEnabled(boolean identityBasedConnectionPoolingEnabled)

isWrapTypes

boolean isWrapTypes()

By default, data type objects for Array, Blob, Clob, NClob, Ref, SQLXML, and Struct, plus ParameterMetaData and ResultSetMetaData objects are wrapped with a WebLogic wrapper. This allows for features like debugging and connection usage to be done by the server.

The wrapping can be turned off by setting this value to false. This improves performance, in some cases significantly, and allows for the application to use the native driver objects directly.


setWrapTypes

void setWrapTypes(boolean wrapTypes)

getFatalErrorCodes

String getFatalErrorCodes()

Specifies a comma-separated list of error codes that are treated as fatal errors. These errors include deployment errors that cause a server to fail to boot and connection errors that prevent a connection from being put back in the connection pool.

This optional attribute is used to define fatal error codes, that when specified as the exception code within a SQLException (retrieved by sqlException.getErrorCode()), indicate that a fatal error has occurred and the connection is no longer usable. For Oracle databases the following fatal error codes are predefined within WLS and do not need to be placed in the configuration file:


setFatalErrorCodes

void setFatalErrorCodes(String fatalErrorCodes)

getConnectionLabelingCallback

String getConnectionLabelingCallback()

The class name of the connection labeling callback. This is automatically passed to registerConnectionLabelingCallback when the datasource is created. The class must implement oracle.ucp.ConnectionLabelingCallback.


setConnectionLabelingCallback

void setConnectionLabelingCallback(String className)

getConnectionHarvestMaxCount

int getConnectionHarvestMaxCount()

The maximum number of connections that may be harvested when the connection harvesting occurs. The range of valid values is 1 to MaxCapacity.


setConnectionHarvestMaxCount

void setConnectionHarvestMaxCount(int connectionHarvestMaxCount)

getConnectionHarvestTriggerCount

int getConnectionHarvestTriggerCount()

Specifies the number of available connections (trigger value) used to determine when connection harvesting occurs.


setConnectionHarvestTriggerCount

void setConnectionHarvestTriggerCount(int connectionHarvestTriggerCount)

getCountOfTestFailuresTillFlush

int getCountOfTestFailuresTillFlush()

Specifies the number of test failures allowed before WebLogic Server closes all unused connections in a connection pool to minimize the delay caused by further database testing. Zero means it is disabled.


setCountOfTestFailuresTillFlush

void setCountOfTestFailuresTillFlush(int countOfTestFailuresTillFlush)

getCountOfRefreshFailuresTillDisable

int getCountOfRefreshFailuresTillDisable()

Specifies the number of reconnect failures allowed before WebLogic Server disables a connection pool to minimize the delay in handling the connection request caused by a database failure. Zero means it is disabled.


setCountOfRefreshFailuresTillDisable

void setCountOfRefreshFailuresTillDisable(int countOfRefreshFailuresTillDisable)

isWrapJdbc

boolean isWrapJdbc()

By default, SQL objects for CallableStatement, PreparedStatement, ResultSet, Statement, and DatabaseMetaData are wrapped with a WebLogic wrapper. Wrapping allows features like debugging and connection usage to be performed by the server.

When false, wrapping is disabled. This improves performance, in some cases significantly, and allows for the application to use the native driver objects directly. A value of false also disables data type wrapping.


setWrapJdbc

void setWrapJdbc(boolean wrapJdbc)

getProfileConnectionLeakTimeoutSeconds

int getProfileConnectionLeakTimeoutSeconds()

The number of seconds that a JDBC connection needs to be held by an application before triggering a connection leak diagnostic profiling record.

When set to 0, the timeout is disabled. This attribute only applies when the connection leak diagnostic profiling option is enabled.


setProfileConnectionLeakTimeoutSeconds

void setProfileConnectionLeakTimeoutSeconds(int seconds)

Skip navigation links

Copyright 1996, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Fusion Middleware
Java API Reference for Oracle WebLogic Server
12c (12.2.1)

Part Number E55141-01
P4 Change 1723563 on 2015/10/09