我正在分析JTA (System.Transactions)和.NET相对应的System.Transactions之间的不同行为:两者之间的方法非常不同。实际上,Java的事务版本似乎更像是一种规范,让开发人员有义务实现定义的Transactions、TransactionManager和其他接口。.NET有一个更具体的实现,它不允许开发人员定义自己的Transaction对象,而是提供接口来处理事务生命周期期间管理的资源(而Java为相同目的提供了一些XTA*接口)
我想知道是否有机会使用JTA将一些noticed.
TransactionManager.rollback (在JTA中)的行为?.NET版本只有更必要的Transaction.Rollback方法。发布于 2009-05-03 22:33:22
rollback()向基础资源发送一个实际的rollback命令。setRollbackOnly()在当前事务上放置一个标记,在决定提交还是回滚时读取该标记。一旦setRollbackOnly()被调用,唯一可能的结果就是回滚,但是当setRollbackOnly()被调用时,回滚调用实际上不会进行。
这就是这两种方法背后的想法。我不确定不同的实现在多大程度上做出了这种区分,而且即使setRollbackOnly()在调用时实际上会执行回滚,也不会产生任何实际的区别。
https://stackoverflow.com/questions/747890
复制相似问题