Spring2.0 DataSourceTransactionManager 事务回滚问题

在使用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?

你可能感兴趣的:(spring,mysql,weblogic,db2)