事务
积蓄能量,厚积薄发
这个作者很懒,什么都没留下…
展开
-
Spring事务之事务超时和回滚规则
事务超时为了使一个应用程序很好地执行,它的事务不能运行太长时间。因此,声明式事务的下一个特性就是它的超时。假设事务的运行时间变得格外的长,由于事务可能涉及对数据库的锁定,所以长时间运行的事务会不必要地占用数据库资源。这时就可以声明一个事务在特定秒数后自动回滚,不必等它自己结束。由于超时时钟在一个事务启动的时候开始的,因此,只有对于那些具有可能启动一个新事务的传播行为(PROPAGATION_REQUIRES_NEW、PROPAGATION_REQUIRED、ROPAGATION_NESTED)的方法来转载 2020-07-23 12:21:40 · 2923 阅读 · 0 评论 -
Spring事务之只读
定义从设置的时间点(时间点beta)开始到事务结束的过程中,该事务将看不见其他事务所提交的数据,即查询中不会出现别人在beta之后提交的数据。如果一个事务只对数据库执行读操作,那么该数据库就可能利用那个事务的只读特性,采取某些优化措施。通过把一个事务声明为只读,可以给后端数据库一个机会来应用那些它认为合适的优化措施。由于只读的优化措施是在一个事务启动时由后端数据库实施的, 因此,只有对于那些具有可能启动一个新事务的传播行为(PROPAGATION_REQUIRES_NEW、PROPAGATION_REQ转载 2020-07-23 12:01:46 · 954 阅读 · 0 评论 -
Spring事务之四大隔离级别
多个事务之间会产生的问题在一个典型的应用程序中,多个事务同时运行,经常会为了完成他们的工作而操作同一个数据。数据库的隔离性与并发控制有很大关系。并发虽然是必需的,但是会导致以下问题:脏读(Dirty read)脏读发生在一个事务读取了被另一个事务改写但尚未提交的数据时。如果这些改变在稍后被回滚了, 那么第一个事务读取的数据就会是无效的。不可重复读(Nonrepeatable read)不可重复读发生在一个事务执行相同的查询两次或两次以上,但每次查询结果都不相同时。这通常是由于另一个并发事务在两次转载 2020-07-23 09:53:37 · 620 阅读 · 0 评论 -
Spring事务传播机制--实例讲解
对于本地事务的概念,在这里就不做过多的解释了,本篇文章主要是实例讲解本地事务的传播机制。对事务没有多少接触的人来说,可能对事务的传播机制理解的不那么透彻,下面通过4个表,2个事务方法,来实例验证一下事务的传播事务的特性原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。原创 2020-07-22 00:23:41 · 1658 阅读 · 1 评论