WebSphere Application Server data source properties

 

WebSphere Application Server data source properties

Use this page to set advanced WebSphere Application Server data source properties. These properties activate and configure services that WebSphere Application Server applies to data sources, to customize connection use within the application server. These properties do not affect the use of connections within the database.

To view this administrative console page, click Resources >JDBC Providers > JDBC_provider > Data sources > data_source > WebSphere Application Server connection properties .

Configuration tab

Statement Cache Size

The number of statements that can be cached per connection. WebSphere Application Server caches a statement after the user closes it. The WebSphere Application Server data source optimizes the processing of prepared statements and callable statements by caching those statements that are not being used in an active connection. Both statement types help maximize the performance of transactions between your application and datastore.

  • A prepared statement is a precompiled SQL statement that is stored in a PreparedStatement object. Application Server uses this object to run the SQL statement multiple times, as required by your application run time, with values that are determined by the run time.

  • A callable statement is an SQL statement that contains a call to a stored procedure, which is a series of precompiled statements that perform a task and return a result. The statement is stored in the CallableStatement object. Application Server uses this object to run a stored procedure multiple times, as required by your application run time, with values that are determined by the run time.

If the statement cache is not large enough, useful entries are discarded to make room for new entries. To determine the largest value for your 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 you never have cache discards. In general, the more statements your application has, the larger the cache should be.

Note: This statement cache size setting is different from WebSphere Application Server V4.0.x. In V4.0.x, the maximum number of possible prepared statements is cached for the data source within an application server. In V5 and higher, statement cache size is defined on a given physical connection.

You 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. Note: The higher the statement cache, the more system resources are delayed. Therefore, if you set the number too high, you could lack resources because your system is not able to open that many prepared statements.

In test applications, tuning the statement cache improved throughput by 10-20%. However, because of potential resource limitations, this might not always be possible.

Data type Integer
Default Depends on the database. Most are 10. Informix Version 7.3, 9.2, or 9.3 without latest fix must be 0. A default of 0 means there is no cache statement.

Enable Multithreaded Access Detection

If checked, the application server detects the existence of access by multiple threads.

Enable Database Reauthentication

If checked, there cannot be an exact match on connections retrieved out of the WebSphere Application Server connection pool (that is, connection pool search criteria do not include user name and password). Instead, the reauthentication of connection is done in the doConnectionSetupPerTransaction() of the DataStoreHelper class. Note that WebSphere Application Server runtime does NOT provide connection reauthentication implementation. Therefore, when this box is checked you MUST extend the DataStoreHelper class to provide implementation of the doConnectionSetupPerTransaction() method where the reauthentication takes place. Failure to do that results in wrong connections being handed out to users. For more information, refer to the API documentation for com.ibm.websphere.rsadapter.DataStoreHelper#doConnectionSetupPerTransaction(...) .

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

Enable JMS One Phase Optimization Support

If checked, the application server allows JMS to get optimized connections from this data source. This property prevents JDBC applications from sharing connections with CMP applications.

PreTest Connections

If checked, the application server tries to connect to this data source before it attempts to send data to or receive data from this data source. If you select this property, you can specify how often, in seconds, the application server retries to make a connection if the initial attempt fails.

PreTest Connection Retry Interval

When PreTest Connection is checked, use this property to specify how long, in seconds, the application server waits before retrying to make a connection if the initial attempt fails.

PreTest SQL String

The string of data that the application server sends to the database to test the connection. Use a query that is likely to have little impact on performance.

Data type Integer




Related concepts
Resource adapter
JDBC providers
Data sources

Related tasks
Configuring a data source using the administrative console
Configuring connection factories for resource adapters within applications
Configuring J2EE Connector connection factories in the administrative console

Related reference