EJB 3 事务管理探讨

本文深入探讨EJB 3的事务管理,包括声明式与编程式事务、CMT与BMT的区别、事务边界划分以及隔离级别。重点讲解了CMT的事务特性,如REQUIRED、REQUIRED_NEW等,并阐述了BMT中UserTransaction的使用以及异常处理对事务的影响。
摘要由CSDN通过智能技术生成

EJB事务的特点:

  提供声明式事务与编程式事务

  声明式事务:应用程序只需要关心业务逻辑,由容器来负责事务的管理。这是实践中常用的方法。

  编程时事务:应用程序编码人员自己写事务代码。

  ② EJB事务编程的类型

  A、CMT    容器管理事务

  B、BMT    Bean管理事务

  C、Client-MT    Client-Controlled Transaction客户端管理事务

  实体Bean只能用CMT。

  CMT:

  由容器实现的远程对象/拦截器,负责调用中间件服务。

  优点:在应用程序代码中,不用编写事务服务代码;

  缺点:粗粒度,只能在方法级别控制事务。

 

  EJB Bean类中编程方式来使用事务(BMT):

  优点:细粒度地控制事务

  缺点:事务代理与业务代码纠缠

  Client-controlled Transaction:

  优点:客户端可以精确控制事务

  缺点:可能会因为网络问题引起是事务的回滚。

3、EJB事务边界的划分

  事务边界:事务边界是指事务从哪里开始。

  CMT的事务特性:

  Required:Bean类的方法必须要在事务环境下运行,这是容器默认的事务机制。

  事务特性只能使用在CMT。

  RequiredNew:Bean类中的方法必须在一个新的事务环境下运行。

  Supports:Bean类的方法不需要支持事务。如果客户端有事务,则继续沿用原事务环境。

  Mandatory:Bean类中方法必须要在事务环境下运行。客户端不启动事务则报错。

  NoSupported:Bean类

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值