mysql利用atlas进行读写分离时,一直走主库的问题

项目中。利用atlas对mysql数据库进行了读写分离。

当时配置了去从库读数据。

当用数据库工具连接代理測试时。一切正常。

当在项目中使用框架mybatis连数据库时,却都直接去主库读写数据了。

自己写个main方法 用jdbc连接也是正常的。

一用mybatis框架就不正常了,难道atlas对mybatis不支持吗?

于是各种百度,谷歌。

。。

最后发现原因:假设有事务存在的话,atlas就强制走主库。

而这种方法类上偏偏加入了事务@Transactional

解决的方法在方法上加上@Transactional(propagation=Propagation.NOT_SUPPORTED)就可以。


原文地址:https://www.cnblogs.com/wgwyanfs/p/7240846.html