Part I Development Tasks and Tools
1. Setting Up a Development Environment
3. Using Ant with Enterprise Server
Part II Developing Applications and Application Components
7. Using the Java Persistence API
8. Developing Web Applications
9. Using Enterprise JavaBeans Technology
10. Using Container-Managed Persistence
13. Developing Lifecycle Listeners
Part III Using Services and APIs
14. Using the JDBC API for Database Access
15. Using the Transaction Service
Configuring the Transaction Service
The Transaction Manager, the Transaction Synchronization Registry, and UserTransaction
Storing Transaction Logs in a Database
16. Using the Java Naming and Directory Interface
The Enterprise Server provides workarounds for some known issues with transaction recovery implementations.
Note - These workarounds do not imply support for any particular JDBC driver.
In the Oracle thin driver, the XAResource.recover method repeatedly returns the same set of in-doubt Xids regardless of the input flag. According to the XA specifications, the Transaction Manager initially calls this method with TMSTARTSCAN and then with TMNOFLAGS repeatedly until no Xids are returned. The XAResource.commit method also has some issues.
To disable the Enterprise Server workaround, set the oracle-xa-recovery-workaround property value to
false. For details about how to set this property, see Configuring the Transaction Service. This workaround
is used unless explicitly disabled.
Manual transaction recovery cannot recover transactions after a server crash. Manual operations are intended for cases when a resource dies unexpectedly while the server is running. In case of a server crash, only start-up recovery can recover in-doubt transactions.