六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 323|回复: 0

Spring2.0 DataSourceTransactionManager 事务回滚问题

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-25 22:44:47 | 显示全部楼层 |阅读模式
在使用Spring的DataSourceTransactionManager过程中,系统发生第一次错误并进行回滚,可是已经提交的数据没有回滚,从第二次开始,系统发生错误后回滚就正常了。
//对Spring的事务简单封装,使用DataSourceUtil获得和释放链接。TransactionManager manager = new TransactionManager ();try{  manager.begin();  //添加用户  db.execute("insert into USER(id, name) values(id, name)");  //添加用户地址(填写地址过长,出错)  db.execute("insert into ADDRESS(id, address) values(id, address)");  manager.commit();}catch(Exception ex){  manager.rollback();}
现象:
第一次提交失败时,系统回滚,但是用户信息已经插入。
第二次进行提交时,系统回滚,用户信息也被回滚。

测试环境:
Tomcat5 + C3P0(连接池) + DB2
Tomcat5 + C3P0(连接池) + MySQL
Weblogic + JNDI + DB2

现象都一致。

不知道大家是否碰到这样的问题?不知道如何解决?是否Spring的Bug?
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表