EJB事务处理

EJB有两种事务处理方式,这两种方式通常都是建立在JTA基础之上的。(注意EJB是必须在容器中才能运行的,而JTA事务只能运行在EJB容器或Web容器中)一种是通过容器管理事务(CMT)以声明方式来管理事务;另一种则在EJB内部使用事务管理代码自己管理事务,这种称为Bean管理事务(BMT)。

一、容器管理事务

当使用容器管理事务时,业务方法不应该调用任何可能与容器所设置的事务边界冲突的方法,如下情形是被禁止的:
   禁止调用Connection接口的commit、setAutoCommit和rollback方法

   禁止调用EJBContext的getUserTransaction方法。

   禁止调用UserTransaction的任何方法。

二、Bean管理事务

Bean管理事务可有开发者决定到底是使用JTA事务还是使用JDBC事务。

对于Bean管理事务策略来说,程序代码中不要调用EJBContext接口中的getRollbackOnly和setRollbackOnly方法,允许调用UserTransaction来手动控制事务,这就是BMT比CMT灵活的地方、

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值