It is quite interesting to compare the Jini Transaction specification [1] with JTA, and my gut is feeling so much better with the former.
Since "participants" (that is those that have state to be modified) in Jini Transactions are generally more "identifiable" than vague services in the JTA sphere, I find one thing with Jini Transactions particularly interesting; <quote> If a participant votes PREPARED for a top-level transaction, it must guarantee that it will execute a recovery process if it crashes between completing its durable record and receiving a commit notification from the manager. </quote> i.e. crash recovery is an integral view of the whole spec. At a successful prepare(), the participant makes a commitment to the Txmanager that it will indeed manage to perform a commit() if asked to do so, no matter what happens from now until then. The specification also notes that a permanent failure of the participant to re-join the transaction puts the entire state in jeopardy. I have not seen such in-depth analysis of JTA/JTS cause/effect and potential problems as this one. Cheers Niclas [1] http://www.jini.org/wiki/Jini_Transaction_Specification _______________________________________________ qi4j-dev mailing list [email protected] http://lists.ops4j.org/mailman/listinfo/qi4j-dev

