Skip navigation.

Administration Console Online Help

PreviousNextvertical dots separating previous/next from contents/index/pdfContents

Deployments: JDBC Module: Configuration: JDBC Data Source: Connection Pool

Configuration Options     Advanced Configuration Options     Related Tasks     Related Topics

The connection pool within a JDBC data source contains a group of JDBC connections that applications reserve, use, and then return to the pool. The connection pool and the connections within it are created when the connection pool is registered, usually when deploying the JDBC module or starting WebLogic Server.

Use this page to define the configuration for this data source's connection pool.

Configuration Options

Name Description
URL

The URL of the database to connect to. The format of the URL varies by JDBC driver.

The URL is passed to the JDBC driver to create the physical database connections.

MBean Attribute (Does not apply to application modules):
JDBCDriverParamsBean.Url

Changes take effect after you redeploy the module or restart the server.

Driver Class Name

The full package name of JDBC driver class used to create the physical database connections in the connection pool in the data source.

For example: com.pointbase.jdbc.jdbcUniversalDriver

The driver must be the name of a class that implements the java.sql.Driver interface. Check the driver documentation to find the full pathname.

Note that the driver class must be in the classpath of any server to which the data source is deployed.

MBean Attribute (Does not apply to application modules):
JDBCDriverParamsBean.DriverName

Changes take effect after you redeploy the module or restart the server.

Properties

The list of properties passed to the JDBC driver that are used to create physical database connections. For example: server=dbserver1. List each property=value pair on a separate line.

To enable driver-level features, add the driver property and its value to the Properties list. WebLogic Server sets driver-level properties in the Properties list on the driver's ConnectionPoolDataSource object.

Note:
For security reasons, when WebLogic Server is running in Production mode, you cannot specify database passwords in this properties list. Data source deployment will fail if a password is specified in the properties list. To override this security check, use the command line argument "weblogic.management.allowClearTextPasswords" when starting the server.

MBean Attribute (Does not apply to application modules):
JDBCDriverParamsBean.Properties

Changes take effect after you redeploy the module or restart the server.

Password

The password attribute passed to the JDBC driver when creating physical database connections.

The value is stored in an encrypted form in the descriptor file and when displayed on the Administration Console.

MBean Attribute (Does not apply to application modules):
JDBCDriverParamsBean.Password

Changes take effect after you redeploy the module or restart the server.

Confirm Password

Confirm your Password.

Initial Capacity

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.

This is also the minimum number of physical connections the connection pool will keep available.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.InitialCapacity

Minimum value: 0

Maximum value: 2147483647

Maximum Capacity

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

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.MaxCapacity

Minimum value: 1

Maximum value: 2147483647

Capacity Increment

The number of connections created when new connections are added to the connection pool.

When there are no more available physical connections to satisfy connection requests, WebLogic Server creates this number of additional physical connections and adds them to the connection pool.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.CapacityIncrement

Minimum value: 1

Maximum value: 2147483647

Statement Cache Type

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

Options are:

  • LRU - when a new prepared or callable statement is used, the least recently used statement is replaced in the cache.

  • FIXED - the first fixed number of prepared and callable statements are cached.



MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.StatementCacheType

Changes take effect after you redeploy the module or restart the server.

Statement Cache Size

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.StatementCacheSize

Minimum value: 0

Maximum value: 1024

Advanced Configuration Options

Name Description
Test Table Name

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.TestTableName

Init SQL

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.InitSql

Changes take effect after you redeploy the module or restart the server.

Test Connections On Reserve

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.TestConnectionsOnReserve

Test Frequency

The number of seconds between when WebLogic Server tests 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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.TestFrequencySeconds

Minimum value: 0

Maximum value: 2147483647

Seconds to Trust an Idle Pool Connection

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.SecondsToTrustAnIdlePoolConnection

Minimum value: 0

Maximum value: 2147483647

Shrink Frequency

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ShrinkFrequencySeconds

Minimum value: 0

Maximum value: 2147483647

Connection Creation Retry Frequency

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ConnectionCreationRetryFrequencySeconds

Minimum value: 0

Maximum value: 2147483647

Login Delay

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.LoginDelaySeconds

Minimum value: 0

Maximum value: 2147483647

Changes take effect after you redeploy the module or restart the server.

Profile Connection Usage

Collect profile information about threads currently using connections from the pool of connections in the data source.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileType

Profile Connection Reservation Wait

Collect profile information about threads currently waiting to reserve a connection from the data source.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileType

Profile Connection Leak

Collect profile information about threads that have reserved a connection from the data source and the connection leaked (was not properly returned to the pool of connections).

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileType

Profile Connection Reservation Failed

Collect profile information about threads that attempt to reserve a connection from the data source but fail.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileType

Profile Statement Cache Entry

Collect profile information for prepared and callable statements added to the statement cache, and for the threads that originated the cached statements.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileType

Profile Statement Usage

Collect profile information about threads currently executing SQL statements from the statement cache.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileType

Profile Connection Last Usage

Collect profile information about the previous thread that last used the connection.

This information is useful when debugging problems with connections infected with pending transactions that cause subsequent XA operations on the connections to fail.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileType

Profile Connection Multithreaded Usage

Collect profile information about threads that erroneously use a connection previously obtained by a different thread.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileType

Profile Harvest Frequency Seconds

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

When set to 0, harvesting of data is disabled.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ProfileHarvestFrequencySeconds

Minimum value: 0

Maximum value: 2147483647

Driver Interceptor

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:

  • Methods being executed

  • Any exceptions thrown

  • Time spent inside the driver executing methods

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.DriverInterceptor

Changes take effect after you redeploy the module or restart the server.

Enable Credential Mapping

Enables credential mapping for the data source. When an application requests a database connection, WebLogic Server sets a light-weight client ID on the database connection based on a map of database IDs.

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

This feature relies on features in the JDBC driver and DBMS. It is not supported with all drivers and DBMSs.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.CredentialMappingEnabled

Changes take effect after you redeploy the module or restart the server.

Inactive Connection Timeout

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.InactiveConnectionTimeoutSeconds

Minimum value: 0

Maximum value: 2147483647

Maximum Waiting for Connection

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

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.HighestNumWaiters

Minimum value: 0

Maximum value: 2147483647

Connection Reserve Timeout

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.ConnectionReserveTimeoutSeconds

Minimum value: -1

Maximum value: 2147483647

Statement Timeout

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.StatementTimeout

Minimum value: -1

Maximum value: 2147483647

Changes take effect after you redeploy the module or restart the server.

Ignore In-Use Connections

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

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.IgnoreInUseConnectionsEnabled

Changes take effect after you redeploy the module or restart the server.

Pinned-To-Thread

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

When PinnedToThread is enabled, WebLogic Server pins a database connection from the connection pool to an execution thread the first time an application uses the thread to reserve a connection. When the application finishes using the connection and calls connection.close(), which otherwise returns the connection to the connection pool, WebLogic Server keeps the connection with the execute thread and does not return it to the connection pool. When an application subsequently requests a connection using the same execute thread, WebLogic Server provides the connection already reserved by the thread.

With PinnedToThread, there is no locking contention on the connection pool that occurs when multiple threads attempt to reserve a connection at the same time and there is no contention for threads that attempt to reserve the same connection from a limited number of database connections.

If an application concurrently reserves more than one connection from the connection pool using the same execute thread, WebLogic Server creates additional database connections and pins them to the thread, as well.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.PinnedToThread

Changes take effect after you redeploy the module or restart the server.

Remove Infected Connections Enabled

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.

MBean Attribute (Does not apply to application modules):
JDBCConnectionPoolParamsBean.RemoveInfectedConnections

Changes take effect after you redeploy the module or restart the server.

Use XA Datasource Interface

Specifies that WebLogic Server should use the XA interface of the JDBC driver.

If the JDBC driver class used to create database connections implements both XA and non-XA versions of a JDBC driver, you can set this attribute to indicate that WebLogic Server should treat the JDBC driver as an XA driver or as a non-XA driver.

MBean Attribute (Does not apply to application modules):
JDBCDriverParamsBean.UseXaDataSourceInterface

Changes take effect after you redeploy the module or restart the server.

Set XA Transaction Timeout

Enables WebLogic Server to set a transaction branch timeout based on the value for XaTransactionTimeout.

When enabled, the WebLogic Server Transaction Manager calls XAResource.setTransactionTimeout() before calling XAResource.start, and passes either the XA Transaction Timeout value or the global transaction timeout.

You may want to set a transaction branch timeout if you have long-running transactions that exceed the default timeout value on the XA resource.

Note: To use this feature, the resource manager (typically, the JDBC driver) must support the javax.transaction.xa.XAResource.setTransactionTimeout() method.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.XaSetTransactionTimeout

Changes take effect after you redeploy the module or restart the server.

XA Transaction Timeout

The number of seconds to set as the transaction branch timeout.

If set, this value is passed as the transaction timeout value in the XAResource.setTransactionTimeout() call on the XA resource manager, typically the JDBC driver.

When this value is set to 0, the WebLogic Server Transaction Manager passes the global WebLogic Server transaction timeout in seconds in the method.

If set, this value should be greater than or equal to the global WebLogic Server transaction timeout.

Note: You must enable XaSetTransactionTimeout to enable setting the transaction branch timeout.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.XaTransactionTimeout

Changes take effect after you redeploy the module or restart the server.

XA Retry Duration

Determines the duration in seconds for which the transaction manager will perform recover operations on the resource. A value of zero indicates that no retries will be performed.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.XaRetryDurationSeconds

Changes take effect after you redeploy the module or restart the server.

XA Retry Interval

The number of seconds between XA retry operations if XARetryDurationSeconds is set to a positive value.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.XaRetryIntervalSeconds

Changes take effect after you redeploy the module or restart the server.

Keep XA Connection Until Transaction Complete

Enables WebLogic Server to associate the same XA database connection from the connection pool with a global transaction until the transaction completes.

Only applies to connection pools that use an XA driver.

Use this setting to work around specific problems with JDBC XA drivers.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.KeepXaConnTillTxComplete

Changes take effect after you redeploy the module or restart the server.

Need Transaction Context On Close

Specifies whether the XA driver requires a distributed transaction context when closing various JDBC objects (result sets, statements, connections, and so forth). Only applies to connection pools that use an XA driver.

When enabled, SQL exceptions that are thrown while closing the JDBC objects without a transaction context will be suppressed.

Use this setting to work around specific problems with JDBC XA drivers.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.NeedTxCtxOnClose

Changes take effect after you redeploy the module or restart the server.

New XA Connection For Commit

Specifies that a dedicated XA connection is used for commit and rollback processing for a global transaction.

Only applies to data sources that use an XA driver.

Use this setting to work around specific problems with JDBC XA drivers.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.NewXaConnForCommit

Changes take effect after you redeploy the module or restart the server.

XA End Only Once

Specifies that XAResource.end() is called only once for each pending XAResource.start().

This option prevents the XA driver from calling XAResource.end(TMSUSPEND) and XAResource.end(TMSUCCESS) successively. Only applies to data sources that use an XA driver.

Use this setting to work around specific problems with JDBC XA drivers.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.XaEndOnlyOnce

Changes take effect after you redeploy the module or restart the server.

Keep Connection Open On Release

Enables WebLogic Server to keep the logical JDBC connection open for a global transaction when the physical XA connection is returned to the connection pool.

Select this option if the XA driver used to create database connections or the DBMS requires that a logical JDBC connection be kept open while transaction processing continues (although the physical XA connection can returned to the connection pool).

Only applies to data sources that use an XA driver.

Use this setting to work around specific problems with JDBC XA drivers.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.KeepLogicalConnOpenOnRelease

Changes take effect after you redeploy the module or restart the server.

Resource Health Monitoring

Enables JTA resource health monitoring for an XA data source. When enabled, if an XA resource fails to respond to an XA call within the period specified in MaxXACallMillis, WebLogic Server marks the data source as unhealthy and blocks any further calls to the resource.

This property applies to XA data sources only, and is ignored for data sources that use a non-XA driver.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.ResourceHealthMonitoring

Changes take effect after you redeploy the module or restart the server.

Recover Only Once

Specifies that the transaction manager calls recover on the resource only once. Only applies to data sources that use an XA driver.

Use this setting to work around specific problems with JDBC XA drivers.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.RecoverOnlyOnce

Changes take effect after you redeploy the module or restart the server.

Rollback Locak Tx Upon Connection Close

Enables WebLogic Server to call rollback() on the connection before returning the connection to the connection pool.

Enabling this attribute will have a performance impact as the rollback call requires communication with the database server.

MBean Attribute (Does not apply to application modules):
JDBCXAParamsBean.RollbackLocalTxUponConnClose

Changes take effect after you redeploy the module or restart the server.

Related Tasks

Related Topics

 

Skip navigation bar   Back to Top