更新多数据非Master数据源使用中调用任何其他数据源导致后续sql执行在Master数据源的bug
```java
#ServiceImpl1.java
@Service
@DataSource("SLAVE1")
public class ServiceImpl1{
public void doSomething1(){
}
}
#ServiceImpl2.java
@Service
@DataSource("SLAVE2")
public class ServiceImpl2{
@Autowired
private ServiceImpl1 service1;
public void doSomething2(){
// SLAVE2
log.debug("当前数据源:{}",DynamicDataSourceContextHolder.getDataSourceType());
//数据源注解生效 并在方法执行后调用 clearDataSourceType
service1.doSomething1();
//修改前 调用了 clearDataSourceType会清理数据源的标记 此处会打印 MASTER(默认值) 导致本方法后续使用MASTER执行sql 而不是注解上的 SLAVE2 不符合预期
//修改前 调用了 clearDataSourceType仅会清理一层数据源结构 此处打印的依然是 SLAVE2 后续使用 SLAVE2数据源执行sql
log.debug("当前数据源:{}",DynamicDataSourceContextHolder.getDataSourceType());
}
}
```
Signed-off-by: 尘埃落定 <wlx_xyw@163.com>
|
||
|---|---|---|
| .. | ||
| src/main/java/com/ruoyi/common | ||
| pom.xml | ||