Mysql读写分离的两种方法对比:Spring+JPA应用层实现 vs Amoeba中间件实现
来源:互联网
对应的 EntityManagerHolder 代码如下:
可以看到,在getTransaction方法里我们简单new了一个自定义的Object,其实就是一个EntityTransaction holder,关键是在begin(..)方法里,首先会根据事务属性到EntityManagerHolder中进行资源初始化(主要是EMFactory和EM),在initializeResource 方法里面,简单的写了种路由可以看到,在getTransaction