RuoYi若依事务内切换多数据源失效BUG
起因再若依上新开了一个子项目,子项目用没有和若依项目用同一个库.蛋似呢,子项目偷了懒,也想用admin项目的字典表,所以每次查询的时候都会切换数据源.这样普普通通的用没啥问题,可是如果是子项目的server方法且还开启了事务,再切换数据源查询字典表的话就GG了.好像是同一个事务下无法用多数据源,貌似是事务缓存了啥,切不过去.解决方法一个事务下无法使用多数据源,那就再开个事务喽.我是这么解决的.将需
·
起因
再若依上新开了一个子项目,子项目用没有和若依项目用同一个库.
蛋似呢,子项目偷了懒,也想用admin项目的字典表,所以每次查询的时候都会切换数据源.
这样普普通通的用没啥问题,可是如果是子项目的server方法且还开启了事务,再切换数据源查询字典表的话就GG了.好像是同一个事务下无法用多数据源,貌似是事务缓存了啥,切不过去.
解决方法
一个事务下无法使用多数据源,那就再开个事务喽.
我是这么解决的.
将需要切换数据源的方法复制一个,并打上两个注解.
@Transactional(propagation = Propagation.REQUIRES_NEW) // 开启新事务
@DataSource(value = DataSourceType.SUBMETERDATA) // 切换的数据源
这样,调用这个打上了注解的方法就OK啦.
下图是某方法的样例
更多推荐
已为社区贡献1条内容
所有评论(0)