WAS v8.5 > Reference > Sets

WAS data source properties

Use this page to set advanced data source properties in the application server. These properties activate and configure services the application server applies to data sources to customize connections within an application server. These properties do not affect connections within the database.

To access this dmgr console page complete one of the following paths:


Statement cache size

Number of statements that can be cached per connection. The application server caches a statement after you close that statement.

The WebSphere Application Server data source optimizes the processing of prepared statements and callable statements by caching those statements that are not used in an active connection. Both statement types help maximize the performance of transactions between the application and data store.

If the statement cache is not large enough, useful entries are discarded to make room for new entries. To determine the highest value for the cache size to avoid any cache discards, add the number of uniquely prepared statements and callable statements, as determined by the SQL string, concurrency, and the scroll type, for each application that uses this data source on a particular server. This value is the maximum number of possible statements that can be cached on a given connection over the life of the server. Setting the cache size to this value means that you never have cache discards. In general, configure a larger cache for applications with a greater number of statements.

We can also use the Tivoli Performance Viewer to minimize cache discards. Use a standard workload that represents a typical number of incoming client requests, use a fixed number of iterations, and use a standard set of configuration settings.

The higher the statement cache, the more system resources are delayed. If you set the number too high, you might lack resources because your system cannot open multiple prepared statements.

If there is a particular statement that we do not want the application server to cache, configure the statement poolability hint to false. The application server does not cache a statement if the poolability hint is set to false. The application specifies the statement poolability hints at run time.

In test applications, tuning the statement cache improves throughput from 10% to 20%. However, because of potential resource limitations, this tuning process might not always be possible.
Information Value
Data type Integer
Default Defaults depend on the database.

Typically, this value is 10. For Informix versions 7.3, 9.2, 9.3, and 9.4, without the respective latest fixes, the default value must be 0. A default value of 0 means there is no cache statement.


Enable multithreaded access detection

If checked, the following warning message is entered in the WAS system out log if multiple threads attempt to concurrently use the same connection handle. We can use this property to debug connection problems if you think the problems might be caused by multiple threads trying to use the same connection handle. Having multiple threads concurrently using the same connection handle is a programming model violation.

J2CA0167W: An attempt to concurrently use the same connection handle by multiple threads has been detected. The connection handle is: {0}.


Enable database reauthentication

Indicates the exact match on connections retrieved out of the application server connection pool (the connection pool search criteria does not include a user name and password) cannot exist. Instead, the connection reauthentication is done in the doConnectionSetupPerTransaction() of the DataStoreHelper class. The application server does not provide a connection reauthentication implementation at run time. Therefore, when we check this box, extend the DataStoreHelper class to provide implementation of the doConnectionSetupPerTransaction() method where the reauthentication occurs. If we do not complete this process, the application server might return unusable connections. For more information, read the API documentation for the com.ibm.websphere.rsadapter.DataStoreHelper#doConnectionSetupPerTransaction method.

Connection reauthentication can help improve performance by reducing opening and closing connections, particularly for applications that frequently request connections with different user names and passwords.

We cannot enable database reauthentication if you select TrustedConnectionMapping for the mapping configuration alias.


Enable JMS one-phase optimization support

When you check this option, the application server uses JMS to get optimized connections from this data source. This property prevents Java database connectivity (JDBC) applications from sharing connections with container-managed persistence applications. This option is not available if the JDBC provider of the data source is an XA provider.


Manage cached handles

Whether the container tracks cached handles, which are connection handles that an application component holds active across transaction and method boundaries. We can use this property to debug connection problems, but tracking handles can cause large performance issues during run time.

If the Manage cached handles property is selected in the dmgr console, and you clear it, the field is no longer visible for resources that are at v7.0 or greater of the application server. This field is only displayed if the manageCachedHandles property is set to true in the resources.xml file. To make the field available, change the value for the manageCachedHandles entry from false to true in the resources.xml file, or enter the following Jython command from wsadmin:

For any resources that are running at v6.x of the application server, the Manage cached handles property is always visible. For example, if we have a node that is at v6.1, the entry in the resources.xml file does not affect how the field is displayed in the dmgr console.

For a different method to debug problems, use the multi-thread and cross-component diagnostic alerts to detect violations in the Java Connector Architecture (JCA) programming model. To enable these alerts, select those options from Servers > Application servers > application_server > Performance > Performance and Diagnostic Advisor Configuration > Performance and Diagnostic Advice configuration panel. These alerts force the connection manager to manage cached handles, detect the connection conditions, and send alerts.

For these alerts to be active, you must also select Enable Performance and Diagnostic Advisor Framework (Runtime Performance Advisor) from the Servers > Application servers > application_server > Performance > Performance and Diagnostic Advisor Configuration panel.


Log missing transaction context

Whether the container issues an entry to the activity log when an application obtains a connection without a transaction context. These are exceptions to the Java EE programming model connection requirements.


Non-transactional data source

The application server does not enlist the connections from this data source in global or local transactions. Applications must explicitly call setAutoCommit(false) on the connection if they want to start a local transaction on the connection, and they must commit or roll back the transaction they started.

Set to true in rare circumstances, except when a Java Persistence API (JPA) application requires both JTA and non-JTA data sources.

The non-JTA data source requires this property to be set to true.


Use WAS exception checking model

The application server uses the error mapping facility defined in the data store helper to identify errors. The application server does not replace exceptions that are thrown by the JDBC driver with exceptions that are defined in the error map of the data store helper.


Use WAS exception mapping model

The application server uses the error mapping facility defined in the data store helper to identify errors, and the application server replaces the exceptions that are thrown by the JDBC driver with exceptions that are defined in the error map of the data store helper.

This error detection model functions with JDBC v3.0 and earlier.


Validate new connections

Whether the connection manager tests newly created connections to the database.


Number of retries

Number of times to retry making the initial connection to a database after the first pretest operation fails.


Retry interval

If we select Validate new connections, this option specifies the length of time, in seconds, the application server waits before retrying to make a connection if the initial attempt fails.


Validate existing pooled connections

Whether the connection manager tests the validity of pooled connections before returning them to applications.


Retry interval

If we select Pretest existing pooled connections, this option specifies the length of time, in seconds, to allot to the JDBC driver for validating a connection.


Validation by JDBC driver

The application server uses the JDBC driver to validate the connections. The JDBC provider must support JDBC 4.0 or greater to use this option. This option is available only if either Validate new connections or Validate existing pooled connections is selected.

For an Oracle data source, Validation by JDBC Driver displays on the dmgr console only after the validateNewConnectionTimeout property is added to the custom properties of WAS data source properties. The validateNewConnectionTimeout property is used for JDBC 4.0 driver validation and can be specified with the dmgr console.


Timeout

Timeout in seconds for testing connections, either new or pooled by the application server, to the database. If the timeout expires before validating then the connection is considered unusable. If retries are configured, the full value of the timeout applies to each retry. A value of 0 indicates the JDBC driver does not impose a timeout on validation attempts.

This option is only available for JDBC drivers that are JDBC 4.0 compliant.


Validation by SQL string (deprecated)

Specifies an SQL statement the application server sends to the database to test the connection. Use a query that is likely to have low impact on performance. This option is available only if either Validate new connections or Validate existing pooled connections is selected.


Optimize for get/use/close connection pattern with heterogenous pooling

Optimizes the data source for applications that use the get/use/close connection pattern. This optimization enables the connection pool for the data source to share connections that are in the same transaction. With this optimization pattern, we can share one connection during a transaction even if connections use different connection properties.

If we use the heterogeneous pooling feature, first extend the data source definition so that we can specify different custom properties or applications to override non-core properties for the data source. For more information about extending data sources, see the information on extending DB2 data source definitions at the application level.

This field is only available for DB2 data sources.


Retry interval for client reroute

Amount of time, in seconds, between retries for automatic client reroute.

This field is only available for DB2 data sources.


Maximum retries for client reroute

Maximum number of connection retries that are attempted by the automatic client reroute function if the primary connection to the server fails. The property is only used when Retry interval for client reroute is set.

This field is only available for DB2 data sources.


Alternate server names

List of alternate server name or names for the DB2 server. If more than one alternate server name is specified, the names must be separated by commas. For example:

This field is only available for DB2 data sources.


Alternate port numbers

List of alternate server port or ports for the DB2 server. If more than one alternate server port is specified, the ports must be separated by commas. For example:

This field is only available for DB2 data sources.


Client reroute server list JNDI name

JNDI name used to bind the DB2 client reroute server list into the JNDI name space. The DB2 database server uses this name to look up the alternate server name list when the alternate server information is not already in memory. This option is not supported for type 2 data sources.

This field is only available for DB2 data sources.


Unbind client reroute list from JNDI

Used with test connection only. When set to true, the Client reroute server list JNDI name is unbound from the JNDI name space after a test connection is issued.

This field is only available for DB2 data sources.


Related concepts:

Relational resource adapters and JCA
JDBC providers
Data sources


Related


Configure a data source
Configure connection factories for resource adapters within applications
Extend DB2 data source definitions at the application level
Configure Java EE Connector connection factories in the dmgr console


Reference:

Custom property settings
Advice configuration settings


+

Search Tips   |   Advanced Search