spring 中的懒加载与事务 -- 排坑记录
案例描述
本文主要描述了开发中常见的几个与 spring 懒加载和事务相关的案例,描述常见的使用场景,以及如何规避他们,给出具体的代码。
- 在新的线程中,访问某个持久化对象的懒加载属性。
- 在 quartz 定时任务中,访问某个持久化对象的懒加载属性。
- 在 dubbo,motan 一类 rpc 框架中,远程调用时服务端 session 关闭的问题。
上面三个案例,其实核心都是一个问题,就是牵扯到 spring 对事务的管理,而懒加载这个技术,只是比较容易体现出事务出错的一个实践,主要用它来引发问题,进而对问题进行思考。