首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

多库数据源深入分析(Mybatis+ Spring + JTA)(1)

2012-09-17 
多库数据源深入分析(Mybatis+ Spring + JTA)(一)?最近搭建架构,碰到JTA和事务Transaction的问题,在此做个

多库数据源深入分析(Mybatis+ Spring + JTA)(一)

?

最近搭建架构,碰到JTA和事务Transaction的问题,在此做个总结:

?

架构:Mybatis+ Spring

?

技术:spring的AbstractRoutingDataSource和JTA

?

老规矩,先贴代码,在讲原理,刚开始的时候不使用JTA,代码如下:

?

?

?

因为每个Service目前只可能访问一个DataSource,所以在调用Service的时候,调用DataSourceContextHolder.setDataSourceType(key)(key可以为ds1,ds2),

就可以动态切换数据源了(当然最好用AOP思想,技术上spring + AspectJ,在每个Service需要的方法切上一刀),

而且对于spring的@Transactional事务管理是起作用的

?

?

OK,按照这种模式,如果Service可能访问多个库,就将DataSourceTransactionManager换成JtaTransactionManager

?

?

?

当然,Datasource换成JNDI获取

?

?

?

在spring的@Transactional事务管理中,那是死活无法切换数据源

?

由于内容有点多,这个技术总结分为两部分。

?

?

?

热点排行