Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.2
-
Fix Version/s: 1.3
-
Labels:None
-
Number of attachments :
Description
While BTM does set up a timer to mark the transaction for rollback on a timeout, it does not set any timeout on the XAResource's. I'm not sure if this is exactly a bug, but it would definitely be an improvement if BTM called setTransactionTimeout on the resource just before calling start() (the first time). Because there is no TM.getTransactionTimeout() it's not possible for the app-server to determine what the current transaction timeout is and set it itself.
Ideally the timeout set on the XAResource would be the transaction timeout minus any elapsed time since the transaction was started, but even just setting the transaction timeout would help.
Setting resource timeout can (and probably should) be done but it should also be possible to disable this feature as it can cause problems with some implementations.