日期:2014-05-18  浏览次数:20576 次

spring+hibernate+web service配置多数据源
我项目的框架用的是spring+hibernate+axis2。在项目的开发当中需要用到两个数据库,我配置了多数据源的切换,但是用
DataSourceContextHolder.setDataSourceType(DataSourceConst.TMS_STRING);这行代码切换数据源的时候,把这行代码写在web service的接口类中是数据源可以切换,但是把这行代码写在service层,然后在web service的接口类中调用service层的方法的时候,数据源就切换不过去了。
请各位大神给指点迷津。

------解决方案--------------------
spring+hibernate的时候你一旦用事务管理器了,而且事务如果是在service层的时候,多数据源切换是没用的.事务绑定的是hibernate的sessionFactory,你得用多sessionFactory切换.不过不建议这样,既然多数据源了,最好的还是建议用分布式事务来管理楼主自己google下spring+hibernate+atomikos