Spring事务管理如何实现跨服务调用的一致性?
摘要:事务支持 什么是事务? 在一个业务流程中,需要多条DML(insert、delete、update)语句联合才能完成。这些语句必须同时成功或者同时失败。这样才能保证数据安全。 多条DML同时成功或者同时失败,叫做事务。 事务处理的四个过程
事务支持
什么是事务?
在一个业务流程中,需要多条DML(insert、delete、update)语句联合才能完成。这些语句必须同时成功或者同时失败。这样才能保证数据安全。
多条DML同时成功或者同时失败,叫做事务。
事务处理的四个过程
开启事务
执行业务代码
提交事务(没出现异常,提交成功。commit transaction)
回滚事务(出现异常。执行回滚事务. rollback transaction)
事务的四个特性(ACID)
A原子性:事务是最小的工作单元,不可分
C一致性:事务要么同时成功,要么同时失败
I隔离性:事务与事务之间保证和互不干扰
D持久性:持久性是事务结束的标志。
spring对事务的支持
spring实现事务的2种方式:
编程式事务:通过编写代码的方式来实现事务管理
声明式事务:基于注解方式和基于xml方式(推荐使用)
spring事务管理api
spring对事务的管理是基于aop实现的。所以spring专门针对事务开发了一套api,其核心接口如下:PlatformTransactionManager 接口。
