
Spring 事物管理源码分析
文章平均质量分 95
Spring 事物管理源码分析
老王学源码
这个作者很懒,什么都没留下…
展开
-
【老王读Spring Transaction-7】一个数据源的事物管理配置 与 多数据源的事物管理配置
大多数 Spring 应用程序只有一个数据源,只需要一个事务管理器(TransactionManager)。但是在多个数据源的情况下,我们就需要在一个应用程序中配置多个独立的事务管理器。我们可以通过 @Transactional 的 value 或 transactionManager 属性来指定让哪个 TransactionManager 生效。那么,一个数据源 与 多数据源的事物管理配置有什么不同呢?原创 2023-03-03 12:49:39 · 1470 阅读 · 1 评论 -
【老王读Spring Transaction-6】spring-tx与DataSource连接池整合的原理
是 java 提供的一个获取 DB 连接的标准接口。它的实现类可以通过简单的实现,生成标准的连接对象;也可以使用连接池方式实现,生成的池化的连接对象。通常在企业级的开发当中,我们都会使用池化的连接对象,比如使用 apache 的 DBCP 连接池、阿里的 druid 连接池、springboot 默认使用的 hikari 连接池等那么,DataSource 是如何与 spring-tx 进行结合的呢?spring-tx 的核心关注点是事务的管理。连接的获取和关闭是交给连接池去实现的。原创 2023-02-17 09:20:09 · 690 阅读 · 1 评论 -
【老王读Spring Transaction-5】Spring事务传播行为propagation behavior的实现原理
Spring 对事务的封装除了实现了基本的事务管理之外,还提供了事务传播行为(propagation behavior)的高级特性。通常,事务范围内的所有代码都会在该事务中运行。但是,如果在事务上下文已经存在的情况下再去执行其他事务方法,则可以指定事务的传播行为。例如,代码可以在现有事务中继续运行(常见情况),或者可以暂停现有事务并创建新事务。事务传播行为的作用是将多个事务操作进行合并或者隔离。原创 2023-02-15 12:48:24 · 526 阅读 · 0 评论 -
【老王读Spring Transaction-4】Spring事务管理的核心原理——PlatformTransactionManager&TransactionStatus
begin: 获取连接commit: 提交事务(业务正常执行)rollback: 回滚事务(业务异常)Spring 中通过注解的方式实现了切面式的事务管理,其本质还是会经历上面三个步骤。下面我们就来研究一下 Spring 中是怎么实现事务的管理的。原创 2023-02-10 12:59:39 · 2639 阅读 · 0 评论 -
【老王读Spring Transaction-3】TransactionDefinition原理和源码解析
前文在分析@Transactional是如何被解析的时候讲到,@Transactional 配置的事务属性被解析出来之后,被放在了当中。是 Spring 中用来定义事务属性的接口,它继承自。下面就来详细分析一下的作用。原创 2023-02-08 10:14:32 · 937 阅读 · 0 评论 -
【老王读Spring Transaction-2】@Transactional是如何被 Spring 解析的?
前面透过讲解了实现事注解事务功能的原理。这一篇主要分析一下的注解元数据信息是如何被扫描和解析出来的。@EnableTransactionManagement 的详细知识可以点击:从EnableTransactionManagement顺藤摸瓜,研究@Transactional的实现原理。............原创 2022-09-01 13:03:15 · 557 阅读 · 1 评论 -
【老王读Spring Transaction-1】从EnableTransactionManagement顺藤摸瓜,研究@Transactional的实现原理
Spring 对事务的封装是一个相对独立的功能,通过来进行支持。里面的代码量也不大,我们完全可以像翻书的目录一样,浏览一下 spring-tx 的包结构和类,站在一个高的角度来审视一下 Spring 对事务的封装。.........原创 2022-08-31 14:43:34 · 630 阅读 · 0 评论