Project

General

Profile

Actions

How to Transaction Management » History » Revision 6

« Previous | Revision 6/29 (diff) | Next »
Henning Blohm, 07.09.2012 14:26


How to Integrate a Transaction Manager

This Wiki is about how to integrate a full-blown transaction manager into Z2. We only consider Atomikos for now, hoping other TMs can be used similarly.

Note that the z2-base.base repository contains the JTA 1.1 API and an implementation of it in the module com.zfabrik.jta. That is however not a real, full-featured transaction manager - rather just a pseudo-distributed transaction management implementation. There is no 2-phase-commit handling.

It is still extremely useful for 90% case where global, distributed transactions are unnecessary overkill.

At times however, you may require a real TM and even if you dont and want to use Atomikos with non-XA data sources, in which case it behaves similarly to com.zfabrik.jta, here is how it's done.

There are two samples related to this page:

  • z2-samples.jta-plain: A sample scenario with just z2-base and Atomikos and no further trickery. This samples explains best what is needed to get going.
  • z2-samples.jta-spring: A sample scenario built on z2-base, z2-addons.spring, and Atomikos. This is the more advanced, Spring-minded case. The underlying mechanics may be harder to grasp though.

Please consult How_to_Run_a_Sample on how to run these samples.

References

Updated by Henning Blohm over 12 years ago · 6 revisions