
Spring
zzyymaggie
这个作者很懒,什么都没留下…
展开
-
spring context源码解析之@Async
0.写在前面 上一篇文章排查了@Async失效问题,于是就想弄清楚@Async实现原理,发现这篇文章对源码讲解比较清楚,于是参考它的源码分析思路,总结成自己可以理解的内容。 1.背景 大家项目中用到异步、多线程的场景很多,使用最多的场景还是主动对象模式,就是主线程开启一个线程池去任务分发,任务执行完成之后,关闭线程池,但是有的场景则需要部分代码异步执行的效果,简单的说就是有一个可以复用的线程池可以复用,直接new Thread当然也可以,不推荐,没有线程池的可靠性好,如果这个时候再创建一个线程池用完再关闭代原创 2020-08-20 01:02:29 · 237 阅读 · 0 评论 -
Spring @Async失效问题排查
1.现象 @Async变成同步了 最近新接手的一个业务,发现@Async异步调用不能如预期。具体如下: taskId=107的任务在执行的过程中,taskId=108的任务到达,但是一直没执行,直到107执行完毕后,108才开始执行。 通过日志分析: 2020-06-16 17:16:48.465 [146232] [INFO] [getAsyncExecutor-1] [c.s.r.k.task.PublishKnowledgeTask.publishKnowledge():172] - PublishK原创 2020-08-19 15:27:24 · 1320 阅读 · 0 评论 -
BeanPostProcessor对类的实例化顺序的影响——@Value失效
背景 springboot1.5.9集成JavaMelody的时候, https://github.com/javamelody/javamelody/blob/without-spring-boot-starter/javamelody-for-spring-boot/src/main/java/hello/JavaMelodyConfiguration.java#L110 发现这种集成方式的配置采用的硬编码方式,不能根据配置文件进行配置。因此我就想将配置方式修改为从配置文件读取,我的第一想法是采用@V原创 2020-08-08 21:46:45 · 851 阅读 · 0 评论 -
Spring事务的隔离级别
在Spring中定义了5中不同的事务隔离级别: 1. ISOLATION_DEFAULT(一般情况下使用这种配置既可) ; 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。 2. ISOLATION_READ_UNCOMMITTED 4 p" L. I' F; k1 {) a. D( E5 ?: V 这是事务最低的隔离级别,转载 2014-11-09 23:49:19 · 441 阅读 · 0 评论