1. jdbc一般事务步骤

来源:互联网 发布:如何用手机淘宝开网店 编辑:程序博客网 时间:2024/05/23 11:46

这一系列文章并不完整,这是我分析公司内部分布式事务框架的一部分。我们的分布式是基于二阶段提交原理实现的,由于内部资料无法公开请大家谅解。下面将事务以及spring事务相关的一部分供大家参考!

1.一般jdbc事务要经历如下步骤

1)获取数据连接Connection con = datasource.getConnection();

2)设置非自动提交con.setAutoCommit(false);

3)执行数据库crud操作

4)提交或者回滚事务con.commit()/con.rollback()

如上步骤其实除了第3步跟业务逻辑有关,其它都是固定步骤与业务逻辑无关的,编程式事务控制到处充斥这些代码。

声明式事务是为了大家专注于业务,把事务固定步骤抽离出来,利用注解或者xml配置通过aop方式在方法调用前开启事务,在方法调用结束后commit或者rollback事务

 

对于声明式事务需要解决如下场景

1)业务A由methodA完成 作为一个原子操作,在一个事物内完成

2)业务B由methodB完成 作为一个原子操作,在一个事物内完成

3)业务C  methodC 由methodA, methodB以及其他业务逻辑代码组成也需要在事务中完成逻辑

   这里是把methodA, methodB的逻辑都搬到methodC中呢, 这样重复逻辑太多

   还是在methodC方法中直接调用methodA,methodB

   这里就需要解决事务的嵌套问题。

0 0
原创粉丝点击