随笔分类 -  Spring

Spring框架相关
摘要:1. 问题背景 上周线上某模块出现锁等待超时,如下图所示: 我虽然不是该模块负责人,但出于好奇,也一起帮忙排查定位问题。 这里的业务背景就是在执行到某个地方时,需要去表中插入一批数据,这批数据需要根据数据类型分配流水号。这与我的 "select for update引发死锁分析" 提到的流水号分配差 阅读全文
posted @ 2018-04-14 14:39 活在夢裡 阅读(4629) 评论(3) 推荐(1)
摘要:本文针对MySQL InnoDB中在Repeatable Read的隔离级别下使用select for update可能引发的死锁问题进行分析。 1. 业务案例 业务中需要对各种类型的实体进行编号,例如对于x类实体的编号可能是x201712120001,x201712120002,x20171212 阅读全文
posted @ 2017-12-22 00:42 活在夢裡 阅读(49986) 评论(1) 推荐(11)
摘要:1. 背景 最近读了Spring声明式事务相关源码,现在将相关原理及本人注释过的实现源码整理到博客上并对一些工作中的案例与事务源码中的参数进行总结。 2. 基本概念 2.1 基本名词解释 | 名词 | 概念 | | |: | |PlatformTransactionManager|事务管理器,管理事 阅读全文
posted @ 2017-10-03 21:58 活在夢裡 阅读(11074) 评论(2) 推荐(15)
摘要:1. 背景 在前文 "Spring IOC容器创建bean过程浅析" 已经介绍了Spring IOC创建初始化bean的大致过程。现在对Spring的AOP实现机制进行研究分析。 2. 名词与概念 | 名词 | 概念 | | |: | | Advice | 通知,在连接点的处理逻辑 | | Advi 阅读全文
posted @ 2017-09-24 00:46 活在夢裡 阅读(2514) 评论(0) 推荐(1)
摘要:1. 背景 Spring框架本身非常庞大,源码阅读可以从Spring IOC容器的实现开始一点点了解。然而即便是IOC容器,代码仍然是非常多,短时间内全部精读完并不现实 本文分析比较浅,而完整的IOC创建bean实际上是非常复杂的。本文对于BeanDefinition的加载解析,bean实例化的反射 阅读全文
posted @ 2017-09-16 00:04 活在夢裡 阅读(6346) 评论(0) 推荐(2)