Spring事务失效场景

工作中经常会使用事务,事务保证了操作的一致性,要嘛全部成功,有一个失败则全部失败。类似于与操作。其中事务具备ACID四个特性,包含原子性,一致性,隔离性,持久性。Spring开发了spring-tx模块封装了事务,包含有编程式事务与声明式事务。其中编程式事务使用TransactionTemplate实现,声明式事务使用Transactional注解。但是事务有时候会失效导致脏数据的产生,下面来进行实践测试。

阅读更多

Seata初探

项目中需要使用到分布式事务,这里我们选择Seata进行开发。因为Seata支持ORM方式较多,这是官网的说明,Seata 虽然是保证数据一致性的组件,但对于 ORM 框架并没有特殊的要求,像主流的Mybatis,Mybatis-Plus,Spring Data JPA, Hibernate等都支持。这是因为ORM框架位于JDBC结构的上层,而 Seata 的 AT,XA 事务模式是对 JDBC 标准接口操作的拦截和增强。,实现方式页比较多,比如AT模式,TCC模式,Saga模式,XA模式。 本篇文章主要记录Seata的搭建过程以及Seata在Spring Cloud下的使用。

阅读更多