JAVAEE Transaction (1)

1.什么是事务
    为了保证数据的一致性
    begin transaction
        debit checking account
        credit saving account
        update history log
    end trasaction
    其中任意的三个操作要么都执行,要么都不执行,否则就不能保证数据的一致性。
2.容器管理的事务
    在容器管理的enterprise bean, EJB 容器设置事务的边界。容器管理的事务可以被
用到任何类型的bean(session bean,entity bean,message-driven bean)。容器管理事务
可以简化开发,开发中无需明确包含开启事务和关闭事务代码。
    容器事务在bean方法调用前开启,在bean方法结束前结束。一个方法是不能嵌套事务和
包含多个事务。
    不是所有的bean方法都要求是事务管理的,在部署bean时我们可以通过设置事务的属性
配置哪些方法是不容器事务管理的。
   2.1 如果对象A的a方法调用对象B的b方法,如果a方法属于事务,那么b方法是再开启个新事务
还是在原来的事务中呢?这个依赖于对象B的事务属性设置。
       Required : 当一个方法被客户调用,这个客户在事务中运行,那么这个方法也在事务
中运行,否则容器会在这个方法运行前启动事务。
       RequiredNew : 容器会始终为这个方法开启一个新的事务,如果客户端是在事务中,那
  么容器会悬挂客户端的事务执行,开启一个新的事务为这个方法,等结束后再继续客户端的
  事务运行。
       Mandatory:bean的方法必须在客户端的事务中运行,否则容器会抛出异常。
       NotSupported :如果客户端在事务中运行时调用bean的方法,容器会悬挂事务的执行,
   等bean方法执行完后再继续刚才的事务。
       Supports : 如果客户端是在事务中运行时调用bean的方法,那么这个方法也在事务中运行,
   如果客户端没有在事务中运行,那么容器也不会开启一个事务。
       Never :bean的方法不能在事务中运行,否则会抛出异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值