代码之家  ›  专栏  ›  技术社区  ›  Antonello

Java事务API和.NET System.Transactions

  •  2
  • Antonello  · 技术社区  · 17 年前

    我正在分析JTA(Java Transactions API)和.NET对等系统.Transactions之间的不同行为:这两个系统之间的方法非常不同。 事实上,Java版本的事务似乎更像是一种规范,让开发人员有义务实现 Transactions TransactionManager 以及定义的其他接口。 Transaction 对象,但提供接口来处理事务生存期内管理的资源(而Java提供了一些用于相同目的的XTA*接口)

    • 我想知道是否有人曾经有机会利用JTA将一些Java代码移植到.NET,以及他/她注意到了哪些主要区别。

    • 此外,有谁能向我澄清 TransactionManager.setRollbackOnly TransactionManager.rollback (在JTA中)。NET版本刚刚发布 Transaction.Rollback 方法,这是更迫切的。

    1 回复  |  直到 17 年前
        1
  •  1
  •   Steven Devijver    17 年前

    rollback()向底层资源发送实际的回滚命令。setRollbackOnly()在当前事务上放置一个标记,在决定是提交还是回滚时读取该标记。调用setRollbackOnly()后,唯一可能的结果是回滚,但在调用setRollbackOnly()时,实际上不会进行回滚调用。

    这就是两种方法背后的理念。我不确定不同的实现在多大程度上实现了这种区别,即使setRollbackOnly()在调用时实际执行回滚,也不会有任何实际的区别。

    推荐文章