Skip navigation.

WebLogic Server Configuration Reference

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents Index View as PDF   Get Adobe Reader

JDBCConnectionPool

 


Description

This bean defines a JDBC connection pool.

 


Syntax

<JDBCConnectionPool
ACLName="String"
CapacityIncrement="number"
ConnLeakProfilingEnabled=( "true" | "false" )
ConnProfilingEnabled=( "true" | "false" )
ConnectionCreationRetryFrequencySeconds="number of seconds"
ConnectionReserveTimeoutSeconds="number of seconds"
CountOfRefreshFailuresTillDisable="number"
CountOfTestFailuresTillFlush="number"
DeploymentOrder="number"
DriverName="String"
EnableResourceHealthMonitoring=( "true" | "false" )
HighestNumUnavailable="number"
HighestNumWaiters="number"
IgnoreInUseConnectionsEnabled=( "true" | "false" )
InactiveConnectionTimeoutSeconds="number of seconds"
InitSQL="String"
InitialCapacity="number"
KeepLogicalConnOpenOnRelease=( "true" | "false" )
KeepXAConnTillTxComplete=( "true" | "false" )
LoginDelaySeconds="number of seconds"
MaxCapacity="number"
Name="String"
NeedTxCtxOnClose=( "true" | "false" )
NewXAConnForCommit=( "true" | "false" )
Notes="String"
PasswordEncrypted="[B"
PreparedStatementCacheSize="number"
Properties="java.util.Properties"
RefreshMinutes="number of minutes"
RemoveInfectedConnectionsEnabled=( "true" | "false" )
RollbackLocalTxUponConnClose=( "true" | "false" )
SecondsToTrustAnIdlePoolConnection="number of seconds"
ShrinkFrequencySeconds="number of seconds"
ShrinkPeriodMinutes="number of minutes"
ShrinkingEnabled=( "true" | "false" )
SqlStmtProfilingEnabled=( "true" | "false" )
StatementCacheSize="number"
StatementCacheType=( "LRU" | "FIXED" )
StatementTimeout="number"
SupportsLocalTransaction=( "true" | "false" )
Targets="list of Target names"
TestConnectionsOnCreate=( "true" | "false" )
TestConnectionsOnRelease=( "true" | "false" )
TestConnectionsOnReserve=( "true" | "false" )
TestFrequencySeconds="number of seconds"
TestStatementTimeout="number"
TestTableName="String"
URL="String"
XAEndOnlyOnce=( "true" | "false" )
XAPasswordEncrypted="[B"
XAPreparedStatementCacheSize="number"
XASetTransactionTimeout=( "true" | "false" )
XATransactionTimeout="number"
/>

 


Parent Elements

 


Attributes

Table 20-1 JDBCConnectionPool attributes

Attribute

Description

Range of Values and Default

ACLName

Deprecated. Returns the ACL used to control access to this Connection Pool.

Required: no

CapacityIncrement

Returns the increment by which the connection pool capacity is expanded. 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 as set by MaxCapacity.

Admin Console field label: Capacity Increment

Default: 1

Minimum: 1

Maximum: 231-1

ConnLeakProfilingEnabled

This property enables JDBC Connection leak profiling.

A Connection leak occurs when a connection from the pool is not closed explicitly by calling close() on that connection.

When connection leak profiling is active, the pool will store the stack trace at the time the Connection object is allocated from the pool and given to the client. When a connection leak is detected (when the Connection object is garbage collected), this stack trace is reported.

This feature uses extra resources and will likely slowdown Connection Pool operations, so it is not recommended for production use.

Admin Console field label: Enable Connection Leak Profiling

Default: false

Secure value: false

ConnProfilingEnabled

This property enables JDBC Connection usage profiling.

When connection usage profiling is active, the pool will store the stack trace at the time the connection object is released back into the pool by the client. If an expection is thrown during a subsequent operation related to global (XA) transactions, this stack trace is reported.

Thise feature is used to detect local transaction work left incomplete by application code, which can interfere with subsequent operations related to global (XA) transactions performed using this JDBC Connection.

This feature uses extra resources and will likely slowdown Connection Pool operations, so it is not recommended for production use.

Admin Console field label: Enable Connection Profiling

Default: false

Secure value: false

ConnectionCreationRetryFrequencySeconds

The number of seconds between attempts to establish connections to the database. When set to 0 (the default), connection retry is disabled.

Admin Console field label: Connection Creation Retry Frequency

Units: seconds

Default: 0

Minimum: 0

Maximum: 231-1

ConnectionReserveTimeoutSeconds

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.

Admin Console field label: Connection Reserve Timeout

Units: seconds

Default: 10

Minimum: -1

Maximum: 231-1

CountOfRefreshFailuresTillDisable

Set the number of consecutive failures to replace dead pool connections before we disable the pool. Zero means we will never disable the pool.

Default: 0

CountOfTestFailuresTillFlush

Set the number of consecutive failed pool connection tests before we close all the connections the pool. Zero means we will never close all the connections in the pool.

Default: 0

DeploymentOrder

A priority that the server uses to determine when it deploys an item. The priority is relative to other deployable items of the same type. For example, the server prioritizes and deploys all EJBs before it prioritizes and deploys startup classes.

Items with the lowest Deployment Order value are deployed first. There is no guarantee on the order of deployments with equal Deployment Order values. There is no guarantee of ordering across clusters.

Default: 1000

Minimum: 0

Maximum: 231-1

DriverName

Returns the full package name of the JDBC driver class used to create the physical connections between WebLogic Server and the DBMS for this connection pool. For example:

com.pointbase.jdbc.jdbcUniversalDriver

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

Admin Console field label: Driver Classname

Required: no

EnableResourceHealthMonitoring

Returns whether JTA resource health monitoring is enabled for this XA connection pool.

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

Default: true

HighestNumUnavailable

The maximum number of connections in the connection pool that can be made unavailable (to an application) for purposes like refreshing the connection, etc. Note that in cases likes the backend system being unavailable, this specified value could be exceeded due to factors outside the pool's control.

When set to 0 (the default), waiting for a connection is disabled.

Admin Console field label: Maximum Connections Made Unavailable

Default: 0

Minimum: 0

Maximum: 231-1

HighestNumWaiters

The maximum number of connection requests that can concurrently block waiting to reserve a connection from the pool.

Admin Console field label: Maximum Waiting for Connection

Default: 231-1

Minimum: 0

Maximum: 231-1

IgnoreInUseConnectionsEnabled

Enables pool to be shutdown even if connections are still in use.

Default: true

InactiveConnectionTimeoutSeconds

The number of seconds of inactivity after which reserved connections will be forcibly returned to the connection pool. When set to 0 (the default), the feature is disabled.

Admin Console field label: Inactive Connection Timeout

Units: seconds

Default: 0

Minimum: 0

Maximum: 231-1

InitSQL

The SQL statement to execute to initialize (or "prime") a physical database connection. If InitSQL 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 a connection. Else, InitSQL will be treated as the name of a table and the following SQL statement will be used to initialize a connection:

"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.

Admin Console field label: Init SQL

Required: no

InitialCapacity

Returns the number of physical database connections to create when creating the connection pool.

Admin Console field label: Initial Capacity

Default: 1

Minimum: 0

Maximum: 231-1

KeepLogicalConnOpenOnRelease

Returns true if the logical JDBC connection is kept open when the physical XA connection is returned to the XA connection pool.

This property applies to XA connection pools only, and is ignored for non-XA driver. Its intention is to workaround specific problems with third party vendor's XA driver.

Admin Console field label: Keep Connection Open On Release

Default: false

KeepXAConnTillTxComplete

Returns true if the XA connection pool associates the same XA connection with the distributed transaction until the transaction completes. This property applies to XA connection pools only, and is ignored for non-XA driver. Its intention is to workaround specific problems with third party vendor's XA driver.

Admin Console field label: Keep XA Connection Till Transaction Complete

Default: false

LoginDelaySeconds

Returns the number of seconds to delay before creating each physical database connection. This delay takes place both during initial pool creation and during the lifetime of the pool whenever a physical database connection is created.

Admin Console field label: Login Delay

Units: seconds

Default: 0

Minimum: 0

Maximum: 231-1

MaxCapacity

Returns the maximum number of physical database connections that this connection pool can contain. Different JDBC Drivers and database servers may limit the number of possible physical connections.

Admin Console field label: Maximum Capacity

Default: 15

Minimum: 1

Maximum: 231-1

Name

The name of this configuration. WebLogic Server uses an MBean to implement and persist the configuration.

Admin Console field label: Name

Required: no

NeedTxCtxOnClose

Returns true if the XA driver requires a distributed transaction context when closing various JDBC objects, e.g. result sets, statements, connections etc. If it is specified to true, SQL exceptions that are thrown while closing the JDBC objects in no transaction context will be swallowed. This property applies to XA connection pools only, and is ignored for non-XA driver. Its intention is to workaround specific problems with third party vendor's XA driver.

Admin Console field label: Need Transaction Context On Close

Default: false

NewXAConnForCommit

Returns true if a dedicated XA connection is used for commit/rollback processing of a particular distributed transaction.

This property applies to XA connection pools only, and is ignored for non-XA drivers. Its intention is to workaround specific problems with third party vendor's XA driver.

Admin Console field label: New XA Connection For Commit

Default: false

Notes

Optional information that you can include to describe this configuration.

Admin Console field label: Notes

Required: no

PasswordEncrypted

The encrypted database password as set with setPassword(), setPasswordEncrypted(byte[] bytes), or as a key=value pair in setProperties().

Required: no

Encrypted: yes

PreparedStatementCacheSize

Deprecated. The number of prepared statements stored in the cache for further use. WebLogic Server can reuse prepared statements in the cache without reloading them, which can increase server performance. Setting the size of the prepared statement cache to 0 turns it off.

Admin Console field label: Prepared Statement Cache Size

Default: -1

Properties

Returns the list of properties passed to the the JDBC Driver to use when creating physical database connections. The list consists of attribute=value tags, separated by semi-colons. For example user=scott;server=myDB.

Admin Console field label: Properties

Required: no

RefreshMinutes

Deprecated. Returns the number of minutes between database connection tests. After every RefreshMinutes interval, unused database connections are tested using TestTableName. Connections that do not pass the test will be closed and reopened to re-establish a valid physical database connection. If TestTableName is not set, the test will not be performed.

Admin Console field label: Refresh Period

Units: minutes

Default: 0

Minimum: 0

Maximum: 35791394

RemoveInfectedConnectionsEnabled

Controls whether a connection will be removed from the connection pool when the application asks for the underlying vendor connection object. Enabling this attribute will have an impact on performance as it will essentially disable the pooling of connections (as connections will be removed from the pool and replaced with new connections).

Admin Console field label: Remove Infected Connections Enabled

Default: true

RollbackLocalTxUponConnClose

If set to true, WLS connection pool will call rollback() on the connection before putting it back in the pool. Enabling this attribute will have a performance impact as the rollback call requires communication with the database server.

Default: false

SecondsToTrustAnIdlePoolConnection

The number of seconds within the use of a pooled connection that WebLogic Server trusts that the connection is still viable and will skip connection testing.

If an application requests a connection within the time specified since the connection was tested or successfully used and returned to the connection pool, WebLogic Server skips the connection test before delivering it to an application (if TestConnectionsOnReserve is enabled).

WebLogic Server also skips the automatic refresh connection test if the connection was successfully used and returned to the connection pool within the time specified (if TestFrequencySeconds is specified).

SecondsToTrustAnIdlePoolConnection is a tuning feature that can improve application performance by minimizing the delay caused by database connection testing, especially during heavy traffic. However, it can reduce the effectiveness of connection testing, especially if the value is set too high. The appropriate value depends on your environment and the likelihood that a connection will become defunct.

Admin Console field label: Seconds to trust an idle pool connection

Units: seconds

Default: 0

Minimum: 0

Maximum: 231-1

ShrinkFrequencySeconds

Returns the number of seconds to wait before shrinking a connection pool that has incrementally increased to meet demand. ShrinkingEnabled must be set to true for a connection pool to shrink.

Admin Console field label: Shrink Frequency

Units: seconds

Default: 900

Minimum: 0

Maximum: 231-1

ShrinkPeriodMinutes

Deprecated. Returns the number of minutes to wait before shrinking a connection pool that has incrementally increased to meet demand. ShrinkingEnabled must be set to true for a connection pool to shrink.

Admin Console field label: Shrink Period Minutes

Units: minutes

Default: 15

Minimum: 1

Maximum: 231-1

ShrinkingEnabled

Indicates whether or not the pool can shrink to the greater of its InitialCapacity or the current number of connections in use when it is detected that connections created during increased traffic are not being used.

Admin Console field label: Allow Shrinking

Default: true

SqlStmtProfilingEnabled

SQL roundtrip profiling stores SQL statement text, execution time and other metrics.

Default: false

StatementCacheSize

The number of Prepared and Callable Statements stored in the cache for reuse. WebLogic Server can reuse statements in the cache without reloading them, which can increase server performance. Setting the size of the statement cache to 0 turns it off. Each connection in the pool has its own cache of statements.

Admin Console field label: Statement Cache Size

Default: 10

StatementCacheType

Sets the algorithm used to maintain the statement cache: LRU or Fixed.

  • LRU - When a new statement is used after the statementCacheSize is met, the Least Recently Used statement is removed from the cache.

  • Fixed - The first statementCacheSize number of statements is stored and stay fixed in the cache. No new statements are cached unless the cache is manually cleared.

Admin Console field label: Statement Cache Type

Required: no

Default: LRU

StatementTimeout

Specifies the time after which a statement currently being executed will be timed-out. Default value implies feature is disabled. Efficacy of this feature relies on underlying JDBC driver support.

Default: -1

Minimum: -1

Maximum: 231-1

SupportsLocalTransaction

Whether the XA driver used to create physical database connections supports SQL without global transactions.

This property applies to connection pools that use an XA driver only, and is ignored for connection pools that use non-XA drivers.

Admin Console field label: Supports Local Transaction

Default: false

Targets

The targets in the current domain on which this item can be deployed.

Admin Console field label: Targets

Required: no

TestConnectionsOnCreate

When set to true, WebLogic Server tests a connection after creating it and before adding it to the list of connections available to the client. The test adds a small delay in creating the connection, but ensures that the client receives a working connection (assuming that the DBMS is available and accessible). The attribute TestTableName must be enabled for TestConnectionsOnCreate to be effective.

Admin Console field label: Test Created Connections

Default: false

TestConnectionsOnRelease

When set to true, WebLogic Server tests a connection before returning it to the connection pool. If all connections in the pool are already in use and a client is waiting for a connection, the client's wait will be slightly longer while the connection is tested. The attribute TestTableName must be enabled for TestConnectionsOnRelease to be effective.

Admin Console field label: Test Released Connections

Default: false

Secure value: false

TestConnectionsOnReserve

When set to true, WebLogic Server tests a connection before giving it to the client. 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 working connection (assuming that the DBMS is available and accessible).

The attribute TestTableName must be enabled for TestConnectionsOnReserve to be effective.

Admin Console field label: Test Reserved Connections

Default: false

Secure value: false

TestFrequencySeconds

Returns the number of seconds between database connection tests. After every TestFrequencySeconds interval, unused database connections are tested using TestTableName. Connections that do not pass the test will be closed and reopened to re-establish a valid physical database connection. If TestTableName is not set, the test will not be performed.

When set to 0 (the default), periodic testing is disabled.

Admin Console field label: Test Frequency

Units: seconds

Default: 0

Minimum: 0

Maximum: 231-1

TestStatementTimeout

Specifies the time after which the test statement (configured by applications using the pool attribute TestTableName) or initialization statement (configured by applications using the pool attribute InitSQL) currently being executed will be timed out. Default value implies feature is disabled. Efficacy of this feature relies on underlying JDBC driver support.

Default: -1

Minimum: -1

Maximum: 231-1

TestTableName

Returns the name of the table used when testing a physical database connection. The default SQL code used to test a connection is

"select count(*) from TestTableName"

The TestTableName 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 TestTableName to the name of a table that is known to have few rows, or even no rows.

If TestTableName 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 a connection.

Admin Console field label: Test Table Name

Required: no

URL

Returns the database URL used to create the connections in this Connection Pool.

Admin Console field label: URL

Required: no

XAEndOnlyOnce

Returns true if XAResource.end() will be called only once for each pending XAResource.start(). That is, the XA driver will not be called with XAResource.end(TMSUSPEND), XAResource.end(TMSUCCESS) successively.

This property applies to XA connection pools only, and is ignored for non-XA drivers. Its intention is to workaround specific problems with third party vendor's XA driver.

Admin Console field label: XA End Only Once

Default: false

XAPasswordEncrypted

The encrypted password that is used to create physical XA database connections.

Required: no

Encrypted: yes

XAPreparedStatementCacheSize

Deprecated. Returns the maximum number of prepared statements cached by this particular XA connection pool. If the value is 0, caching is turned off. This property applies to XA connection pools only, and is ignored for non-XA driver.

Default: -1

XASetTransactionTimeout

When set to true, the WebLogic Server Transaction Manager calls XAResource.setTransactionTimeout() before calling XAResource.start, and passes either the XATransactionTimeout or the global transaction timeout in seconds.

When set to false, the Transaction Manager does not call setTransactionTimeout().

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

Admin Console field label: Enable XA Transaction Timeout

Default: false

XATransactionTimeout

Determines the number of seconds to pass as the transaction timeout value in the XAResource.setTransactionTimeout() method. When this property 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.

XASetTransactionTimeout must be set to "true" or this property is ignored.

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

Admin Console field label: XA Transaction Timeout

Default: 0

 

Skip navigation bar  Back to Top Previous Next