Java事务设计策略

最近阅读了InfoQ上的电子书<<Java Transaction Strategy>>之后受益匪浅, 单独花了两周时间将其翻译了一下. 由于英语只是四级水准, 所以翻译内容中的不足之处也请见谅.
附件里第一份是翻译后的文档, 第二份是英文原文.
原文地址:http://www.infoq.com/minibooks/JTDS

下面列出文中映象深刻的几点:
事务模型的分类:
  • 本地事务模式, 管理连接
  • 编程式事务模式, 编程管理JTA事务
  • 声明式事务模式, 以方法为单位,让容器使用配置信息来进行事务管理

最佳实践:
  • 当为方法分配事务属性的时候,把类中对大部分方法最具限制性的属性作为类级别的默认属性, 然后再对有特殊需要的方法进行微调.
  • 事务管理应该被包含在开始该事务的方法中. 因此,应该只让那些开启了新事务的方法去调用setRollbackOnly().
  • 如果一个方法需要一个事务环境但不负责对事务进行回滚的话,该方法应该使用Mandatory事务属性.
  • X/Open XA 接口应该只被用于你想要在相同事务环境内协调多个资源(例如数据库或JMS消息)的情况.

你可能感兴趣的:(java,设计模式,spring,编程,配置管理)