J2EE事务相关
firestone-sh
技术的蜗牛
展开
-
API 层事务策略
API Layer 事务策略的命名基于这样一个事实:所有事务逻辑包含在逻辑应用程序架构的 API 层。这个层是一个逻辑层 — 有时也被称为应用程序的域层(domain layer)或 facade 层,它以公共方法或接口的形式向客户机(或表示层)公开功能。之所以说是逻辑 层,是因为可以从本地访问域层(通过直接实例化和调用),或通过 HTTP、远程方法调用(RMI)、通过 EJB 使用 RMI ov原创 2012-10-08 13:39:32 · 455 阅读 · 0 评论 -
API 层事务策略
API Layer 事务策略的命名基于这样一个事实:所有事务逻辑包含在逻辑应用程序架构的 API 层。这个层是一个逻辑层 — 有时也被称为应用程序的域层(domain layer)或 facade 层,它以公共方法或接口的形式向客户机(或表示层)公开功能。之所以说是逻辑 层,是因为可以从本地访问域层(通过直接实例化和调用),或通过 HTTP、远程方法调用(RMI)、通过 EJB 使用 RMI ov...原创 2009-08-12 17:16:32 · 155 阅读 · 0 评论 -
事务模型和事务策略
详见: http://www.ibm.com/developerworks/cn/java/j-ts2.html 一. 事务模型:1. Local Transaction 模型JDBC 本地事务,dbConnection.setAutoCommit(true);在本地事务模型中,事务由底层数据库(DBMS)或消息提供者(Message Provider)来管理维护,从开发者...2009-08-12 14:48:07 · 105 阅读 · 0 评论 -
J2EE事务陷阱
详见: http://www.ibm.com/developerworks/cn/java/j-ts1.html 1. 基于 ORM 的框架需要一个事务来触发对象缓存与数据库之间的同步,如Spring框架中解决方法: @Transactional 注释加在CRUD方法上,同时在Spring配置文件中声明事务管理bean如下:<tx:annotation-driven tr...原创 2009-08-12 14:06:09 · 71 阅读 · 0 评论 -
隔离级别与脏读幻读
1. 数据库操作 issue1.1 更新丢失(lost update):当系统允许两个事务同时更新同一数据时,发生更新丢失1.2 脏读(dirty read):当一个事务读取另一个事务尚未提交的修改时,产生脏读。1.3 非重复读(nonrepeatable read):同一查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发生非重复读。(A tran...2009-06-08 15:07:46 · 79 阅读 · 0 评论 -
Transaction Design Pattern
有三种方式处理事务的模式 1. Client Own Transaction 应用场景: 服务端Service 组件不允许修改,且都是细粒度的服务,一次调用不能满足一个ACID的业务请求 由于客户端transaction context需要传播propagation到Server端,需要RMI协议支持。好像Spring中不支持。 通过RM...2010-03-14 22:33:06 · 92 阅读 · 0 评论 -
Transaction Attribute
2. Spring Framework 支持的事务属性1) PROPAGATION_REQUIRED --支持当前的事务,如果不存在就创建一个新的。这是最常用的选择。2) PROPAGATION_SUPPORTS --支持当前的事务,如果不存在就不使用事务。3) PROPAGATION_MANDATORY --支持当前的事务,如果不存在就抛出异常。4)P...2010-03-11 07:57:24 · 350 阅读 · 0 评论 -
编程事务
Programmatic Transaction Model应用的场景有:1. 客户端bean发起一个事务,并把事务传播到调用的EJB中去,这些EJB用Declarative Transaction. 该方法解决了transation context不能在编程事务管理bean中传播的问题 2. 考虑到性能问题,有时我们只需要在关键的Case中需要用到事务,比如转账。其他周边Case不进...2010-03-10 22:20:27 · 67 阅读 · 0 评论 -
CAP
CAP理论 Eric Brewer, systems professor at the University of California, Berkeley, and at that time head of Inktomi, brought the different trade-offs together in a keynote address to the PODC (Principles原创 2012-10-08 13:55:13 · 222 阅读 · 0 评论 -
Transaction Design Pattern
有三种方式处理事务的模式 1. Client Own Transaction 应用场景: 服务端Service 组件不允许修改,且都是细粒度的服务,一次调用不能满足一个ACID的业务请求 由于客户端transaction context需要传播propagation到Server端,需要RMI协议支持。好像Spring中不支持。 通过RMI,EJB这种方式的话要原创 2012-10-08 13:54:56 · 256 阅读 · 0 评论 -
Transaction Attribute
2. Spring Framework 支持的事务属性1) PROPAGATION_REQUIRED --支持当前的事务,如果不存在就创建一个新的。这是最常用的选择。2) PROPAGATION_SUPPORTS --支持当前的事务,如果不存在就不使用事务。3) PROPAGATION_MANDATORY --支持当前的事务,如果不存在就抛出异常。4)PROPAGATION_REQUIRES_NE原创 2012-10-08 13:54:50 · 352 阅读 · 0 评论 -
编程事务
Programmatic Transaction Model应用的场景有:1. 客户端bean发起一个事务,并把事务传播到调用的EJB中去,这些EJB用Declarative Transaction. 该方法解决了transation context不能在编程事务管理bean中传播的问题 2. 考虑到性能问题,有时我们只需要在关键的Case中需要用到事务,比如转账。其他周边Case不进行事务控制。原创 2012-10-08 13:54:48 · 311 阅读 · 0 评论 -
事务模型和事务策略
详见: http://www.ibm.com/developerworks/cn/java/j-ts2.html 一. 事务模型:1. Local Transaction 模型JDBC 本地事务,dbConnection.setAutoCommit(true);在本地事务模型中,事务由底层数据库(DBMS)或消息提供者(Message Provider)来管理维护,从开发者的角度来看,只需要管理使原创 2012-10-08 13:39:30 · 329 阅读 · 0 评论 -
J2EE事务陷阱
详见: http://www.ibm.com/developerworks/cn/java/j-ts1.html 1. 基于 ORM 的框架需要一个事务来触发对象缓存与数据库之间的同步,如Spring框架中解决方法: @Transactional 注释加在CRUD方法上,同时在Spring配置文件中声明事务管理bean如下: 2. @Transactional 只读标志陷阱 @Transacti原创 2012-10-08 13:39:28 · 289 阅读 · 0 评论 -
隔离级别与脏读幻读
1. 数据库操作 issue1.1 更新丢失(lost update):当系统允许两个事务同时更新同一数据时,发生更新丢失1.2 脏读(dirty read):当一个事务读取另一个事务尚未提交的修改时,产生脏读。1.3 非重复读(nonrepeatable read):同一查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发生非重复读。原创 2012-10-08 13:38:30 · 328 阅读 · 0 评论 -
CAP
CAP理论 Eric Brewer, systems professor at the University of California, Berkeley, and at that time head of Inktomi, brought the different trade-offs together in a keynote address to the PODC...原创 2010-05-21 16:52:31 · 110 阅读 · 0 评论