美文网首页
事务的传播行为

事务的传播行为

作者: 近半生少年 | 来源:发表于2018-07-23 09:28 被阅读38次

    这是在深入浅出mybatis里看到的,研究一下事务的传播机制。

    事务自调用问题:同一方法中如果出现调用自己的方法是无效的,因为spring的数据库事务是在动态代理进入到一个invoke方法里面的,然后判断是否需要拦截方法,需要的时候才会根据注解配置数据库上下文,这里的方法是自调用的,也就没有所谓的代理对象,所以无效。

    事物的回滚方式:spring默认只接受RuntimeException和Error,需要自己定义异常回滚机制,可以在Transaction定义rollback。

    /** * The default behavior is as with EJB: rollback on unchecked exception. * Additionally attempt to rollback on Error. *

    This is consistent with TransactionTemplate's default behavior.

        */

        public boolean rollbackOn(Throwable ex) {

            return (ex instanceof RuntimeException || ex instanceof Error);

        }

    相关文章

      网友评论

          本文标题:事务的传播行为

          本文链接:https://www.haomeiwen.com/subject/slsdmftx.html