9.3.2 Setting up the transaction timeout
This section explains the settings for a transaction timeout. Set up a transaction timeout in transactions with EIS, such as database systems. The transaction timeout set up when accessing a database using a DB Connector is as follows:
When setting up the transaction timeout, of all the timeout values of the entire system, you must consider the transactions between the batch server and database.
When a transaction timeout occurs, the Application Server executes the following processing:
-
The active transactions are rolled back.
-
The connections participating in the transaction are closed, and then deleted from the connection pool.
- Tip
-
The transaction management method used in this case is BMT. You can specify the transaction timeout either in usrconf.properties or in the JTA API (javax.transaction.UserTransaction#setTransactionTimeout method).
The definition of the usrconf.properties affects the entire process. The timeout value specified in API affects only the transactions that issued the API. The API specifications override the definitions in usrconf.properties.
Hitachi, therefore, recommends that you define the standard values to be set up in the entire process, in the usrconf.properties and use the appropriate API to set up the detailed values as per the business to be invoked.
When a transaction timeout occurs, the exception is not reported to the batch application. However, the message KDJE31002-W is output to the log file and the batch server console. After a transaction timeout occurs, an exception is reported when you attempt to use the JTA interface or the JDBC interface using the relevant transaction from the batch application.