现在目前两个Oracle数据库来回切换 我用了AOP注解动态切换
因为在service层加了@Transactional导致每次都从事务中获取 看了一些帖子 说可以使用分布式事务来管理 jta atomikos
大部分资料都是mysql加xml形式来整合的 想知道有没有关于oracle 并且使用的是AOP注解来整合的 先谢过大家 ps:上个帖子写了AOP动态切换数据源源码
你用mybatis的话,动态数据源在事务下面默认配置就不行的,事务内复用sqlsession,sqlsession中的Transaction也会被重复使用,最终导致执行sql的connection没有变,你要是一个mapper对应两个库的同一张表,你这就不行了;
即使一张表对应一个mapper,SpringManagedTransaction.openConnection通过DataSourceUtils.getConnection(dataSource),一个事务内还是被复用connection
给你个demo吧
https://codeup.aliyun.com/62022d5674c3f3b550741db9/simple-routing-datasource