I'm analyzing the different behaviors between the JTA (Java Transactions API) and the .NET counterpart System.Transactions: the approach is quite different between the two of them.
In fact, Java's version of Transactions seems more a specification, leaving to developers the obligation to implement either the Transactions
, TransactionManager
and other interfaces defined.
.NET has a more concrete implementation, which doesn't allow developers to define their own Transaction
object, but providing interfaces to handle resources managed during the transactions's lifetime (while Java provides some XTA* interfaces for the same purpose)
I'm wondering if any out there has ever had the occasion to port some Java code making use of JTA to .NET and which main differences has he/she noticed.
Furthermore, could anyone clarify me the behavior of
TransactionManager.setRollbackOnly
againstTransactionManager.rollback
(in JTA)? .NET version has just theTransaction.Rollback
method which is more imperative.