事务总结

事务的属性
 Propagation_Nested:spring自己增加一个额外的Propagation_Nested属性,该属性告诉spring

对事务进行嵌套处理使用required属性,当然数据库底层必须要支持嵌套事务
 Required:如果当前存在一个事务就使用当前事务,否则将新开一个事务。
 Mandatory:告诉容器必须要一个事务才能执行,如果没有将抛出

TransactionRequiredException
 RequiredNew:告诉容器开始一个新的事务,如果之前有事务则挂起。当新事务执行完毕,挂起

事务将继续执行。(日志)
 Supports指定方法不需要事务来执行,如果有事务则会使用该事务
 NotSupported:告诉容器指定方法不需要事务,如果有事务存在,该事务会被挂起,知道方法结

束。
 Never:告诉容器该方法永远不能再事务里执行,如果有则抛出异常
ReadUncommit:读取到未commit的数据叫---脏读。
ReadCommit:并发访问数据,没有读到未提交的的数据幻影读。
RepeatableRead:在一个事务里查询的结果都是一样的,叫可重复读
Serializable:一个时刻只能有一个事务能读取,执行。
两阶段提交(Two-Phase)
 两阶段提交协议(2pc)是XA在全局事务中协调多个资源时采用的架构。
第一阶段为:准备阶段与提交阶段,当一个commit请求从客户端发送到事务管理器时,第一阶段,所有的

资源都会被询问是否已经准备好提交它们的事务,此时每个参与资源都可以被回复,Ready,Ready_Only

,Not_Ready这三种响应,如果在阶段一里任何一个资源回复Not_Ready响应,当前整个事务都会被回滚。

只有当所有的资源都回复Ready响应,当前事务才进入第二阶段的提交处理。如果参与者回复了Read_Only

作为响应,该参与者将不会进入阶段二的处理过程中,它将会被忽略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值