Sie sind auf Seite 1von 3

Setting the Transaction Timeout on WebSphere

WebSphere automatically rolls back transactions that dont complete in a certain number of seconds. The default
setting is 120 seconds, which may be too short for compiling certain complex pages, especially pages that embed
many page fragments.
When you are developing an application, a page must be recompiled each time you change it. If your application
includes complex pages (particularly if you are developing a portal with ATG Portal), you can avoid transaction
timeouts by raising the timeout setting to 600 seconds. Before deploying the application on a production site, you
should precompile all of the pages. You can then lower the timeout setting.
Note also that if the timeout setting is too low, you may experience problems with full Content Administration
deployments.
To set the transaction timeout:
1. In the WebSphere Integrated Solutions Console, expand Servers, then click Application Servers.
2. Click the link for the server you want to edit.
3. Under Container Settings, expand Container Services.
4. Click Transaction Service.
5. Change the Total transaction lifetime timeout to a large value, for example, 500000.
6. Change the Maximum transaction timeout to a large value, for example, 500000.
7. Click OK.
8. Click Save to save your changes to the master configuration.

TRANSACTION TIMEOUT SETTINGS IN WEBSPHERE
I looked into some of the settings which we can use to fix the transaction timeout exception, that we are facing in TDGS MWDC servers.
Heres what I found so far:
There are 3 transaction timeout related settings. (Application Server -> Container Services -> Transaction Service )
Total transaction lifetime timeout: The default maximum time, in seconds, allowed for a transaction that is started on this server before
the transaction service initiates timeout completion. Any transaction that does not begin completion processing before this timeout occurs is
rolled back.
This timeout is used only if the application component does not set its own transaction timeout.
The upper limit of this timeout is constrained by the maximum transaction timeout. For example, if you set a value of 500 for the
total transaction lifetime timeout, and a value of 300 for the maximum transaction timeout, transactions will time out after 300
seconds.
If you set this timeout to 0, the timeout does not apply and the value of the maximum transaction timeout is used instead.
Default: 120 seconds , In our Environment: 12000 seconds (200 minutes)
Maximum transaction timeout: Specifies, in seconds, the upper limit of the transaction timeout for transactions that run in this server. This
value should be greater than or equal to the value specified for the total transaction timeout.
This timeout constrains the upper limit of all other transaction timeout periods.
Default: 300 seconds, In our Environment: 30000 seconds (500 minutes)
Application component timeout: This is handled in the code. This cannot be set in the admin console.
Table 1.
Transaction
timeout
settings.
The table shows how the different timeout settings
apply to transactions running in the server.
Timeout
setting
Transactions affected
Total
transaction
lifetime
timeout
All transactions that originated in this server that are
not affected by an application component timeout, in
other words, the associated application component
does not set its own timeout.
Maximum
transaction
timeout
All transactions running in this server that are not
affected by the total transaction lifetime timeout or an
application component timeout. These transactions
include transactions imported from outside this server,
such as those imported from a client.
Application
component
timeout
Transactions that are specific to an application
component.
You cannot set this transaction timeout using the
administrative console.
If the component is a container-managed bean, set this
timeout in the deployment descriptor for the
component. For example, you can use an assembly tool,
such as the Rational Application Developer.
If the component is a bean-managed bean, set this
timeout programmatically by using the
UserTransaction.setTransactionTimeout method.
The following example illustrates the relationship between the above timeout settings:
For example, consider the following timeout values:
Table 2. Example timeout values. The table lists different timeout
settings and their values.

Timeout setting Value
Total transaction lifetime timeout 240
Maximum transaction timeout 360
Application component timeout 60
In this example, transactions that are specific to the application component time out after 60 seconds. Other local transactions time out after
240 seconds, and any transactions that are imported from outside this server time out after 360 seconds. If you then change the application
component timeout to 500, application component transactions time out after 360 seconds, the value of the maximum transaction timeout. If
you set the maximum transaction timeout to 0, application component transactions time out after 500 seconds. If you remove the
application component timeout, application component transactions time out after 240 seconds
Lastly,
Thread Inactivity timeout: Specifies the number of milliseconds of inactivity that should elapse before a thread is reclaimed. A value of 0
indicates not to wait and a negative value (less than 0) means to wait forever.
Default: 60000 milliseconds (1 minute)
Correct me if I got this wrong, but I dont see any relation between Thread inactivity timeout (1 minute) and maximum transaction timeout
(500 minutes). Since, in our environment, the transaction roughly takes 9 minutes to complete.

Das könnte Ihnen auch gefallen