@DS多数据源注解失效
public class DSService{@AutowiredAService aService;@AutowiredBService bService;pulic void testDs(){aService.test();bService.test();}@Transactionalpulic void testDs2(){aService.test();bService.test();}}
调用testDs没问题,调用testDs2有问题,因为testDs2处于一个事务方法中,一个事务方法中的所有sql必须要基于同一个connection,所以,这个方法开始之前,就已经确定了一个数据源,且全程会用这一个数据源,此时会报错, tablexxx not exists。因为如果是用的AService数据源,在查询BService时,依然是用的AService数据源,就会导致查询逻辑错误或者数据报错。