发现一个奇怪的问题, 这是springmvc多数据源问题
时间: 2017-03-22来源:开源中国
前景提要
HDC调试需求开发(15万预算),能者速来!>>>
基本情况是这样的:在同一个ip下2个数据库; 典型的springmvc框架;
Controller层 调用一个xxxService.addMethod >> 方法里2个service: userService , shopService;
userService 操作的是 用户库> 新增用户后,返回最新用户id
shopSercie 操作是另一个库(简称店铺管理吧) ; 根据新增返回的的用户id, 创建店铺;

数据库切换用spring托管;
user包下,会自动切换至用户库,操作完成后,释放链接,改回默认库;

然后尴尬的问题的出现了;
xxxService.addMethod 中: userSerive确实成功切换数据库,且操作数据库(此时事务未提交,数据库并未更新) 返回最新userId, shopService紧跟操作,拿着最新id操作 店铺数据库(不用切换,默认该库), 可以; 但AddMethod执行完毕,提示: 店铺数据库.user插入失败;
店铺数据库下是无user表的;
初步怀疑,xxxService.AddMethod完毕后,事务提交,但此时,持有的链接是默认库链接,导致插入失败; 这是事务的问题; 如果不用事务,那么我该这么保持它们的一致性呢;






科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行