Helping ordinary people create extraordinary websites!
HOME TUTORIALS SCRIPTS WEB HOSTING BLOG FORUM
Get Our Newsletter
Email:

Understanding JCA Transactions

By Mikhail Genkin
2005-04-22


In Conclusion

The Java Connector Architecture specification provides J2EE developers with a convenient solution for building transactional J2EE applications that involve legacy systems. JCA allows you to integrate existing EIS while maintaining correct transactional semantics required for e-business.

The key problem you will typically need to address has to do with the fact that different resource adapters provide different levels of transaction support. In many cases it may not be possible to rely on the underlying transaction manager to coordinate a distributed transaction among affected systems. In some cases, although possible, distributed transactions may not be desirable due to the performance overhead associated with the two phase commit protocol.

In these cases you may need to rely on compensating transaction logic and programmatic transaction demarcation. This approach also has its drawbacks. Compensating transactions may themselves fail, leaving the system in an inconsistent state.

Another pitfall to watch for has to do with the fact that the JCA specification does not describe how the resource adapter should handle EJB transaction isolation levels. Some resource adapters simply ignore these settings due to the fact that the target EIS-specific communication protocol does not propagate this information to the back end, or due to the fact that the target EIS transaction model does not provide any equivalent notion. In other cases, changes to J2EE transaction isolation levels may dramatically impact EIS performance. To determine the exact behavior you should carefully study resource adapter documentation, and contact the manufacturer if this aspect is not described in sufficient detail.

Tutorial Pages:
» Learn How the Various Levels of Transaction Support Provided by Different EISs and Resource Adapters Can Affect Application Design.
» Overview of JCA Transactions
» Transaction Support Levels
» JCA Transaction Support
» Transaction Demarcation Strategies
» Programmatic Transaction Demarcation
» EJB Deployment Descriptor Settings
» In Conclusion
» Resources


First published by IBM DeveloperWorks


 | Bookmark
Related Tutorials:
» All about JAXP, Part 1
» Make Database Queries Without the Database
» Load List Values for Improved Efficiency
» 2 Ways To Implement Session Tracking
» A Simple Way to Read an XML File in Java
» Develop Aspect-Oriented Java Applications with Eclipse and AJDT