zoukankan      html  css  js  c++  java
  • EJB3 事物

    在ejb3中事物分为两种类型:容器管理的事物(CMT)、Bean管理的事物(BMT)

    1.容器管理的事物(CTN)

       是EJB默认的事物管理方式,即以对应的方法起始和结束来由EJB容器确定事务的始末边界,换言之就是方法开始事务开始,方法结束事务结束。

       不需要使用注解和手动启动事物。

       在该方式下,包含6中事物的传播方式。

        Required(默认):如果调用方法时上下文中包含事物,则在原事务中运行;如果没有事务,则开启一个新事务,在其中运行。

        Requires_New:若调用该方法时上下文中包含事物,则首先将原事务挂起,开启新事物运行,新事务结束,原来事务从挂起点继续执行;若没有,则开启一个新事务运行。

        Supports:和 Required 属性的不同点是,在没有事务的环境中不会开启一个新事务;如果存在事务的话则加入其中运行,这点和 Reuqired 相同。

        Not_Supported:调用该方法时上下文中存在事物,则事物挂起,方法不参与事物。若上下文中没有事物,不开启新事务,这点和 Supports 相同。

        Mandatory:调用该方法的上下文必须包含事物,如果不包含事务则会抛出异常;该属性不会自动开启新的事务;

        Never:用 Never 属性标注的方法或组件,不能在事务中运行。如果调用该方法或组件的客户端已经在事务中,则抛出异常。

    @TransactionManagement(TransactionManagementType.CONTAINER)
    @TransactionAttribute(TransactionAttributeType.REQUIRED)

         在该方式中,当EJB的方法中产生runtimeexception时便会自动进行回滚。

    2.Bean管理的事物(BMT)

       在该方式中,事物是由Bean管理,即事物的开始和结束是由Bean对象中的代码所决定的,其事物的边界可以由人为的控制

  • 相关阅读:
    setTimeOut 和 setInterval对比
    vue官方源码剖析
    Taro 总结
    地图相交
    vscode 配置文件
    redis持久化的几种方式
    推荐.Net、C# 逆向反编译四大工具利器
    【转】Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
    【摘】Oracle 11g EM安全证书问题无法访问的解决办法
    MySql 从SQL文件导入
  • 原文地址:https://www.cnblogs.com/welv/p/5119718.html
Copyright © 2011-2022 走看看