I'm trying to extend Clojure to add durability to refs in a way that allows users to choose which data store instances to persist to. That requires distributed transactions. Are there any really lightweight, in-process distributed transaction managers, supporting XA, for Java? If not, and I have to roll my own, are there any good resources explaining what a distributed transaction coordinator has to support? Specifically, I'm having trouble understanding what the semantics of the 3 parts of an XID are re开发者_如何转开发ally supposed to be. As an initial implementation, I'm using BDB JE.
I know these two:
Bitronix: This is the one we are using currently, it seems to work OK and it is easy to configure.
Atomikos: We have tried this, but it is a little harder to configure than Bitronix, and it has some hardcoded dependencies to java.util.logging which we did not want. It should more feature-complete than Bitronix as it is an open source version of a commercially supported product.
http://www.atomikos.com should do what you are looking for...
精彩评论