这几天都在调关于分布式事务的控制真是令人郁闷.环境就如标题所说一样,程序启动一切正常在测试的时候就是不能控制mysql的事务.
测试结果:
1.Oracle的事务控制正常,当sava(user2)失败是oracle实现回滚.如果没有问题就顺利提交.
2.Mysql事务控制失败,当save(user1)失败时照样插入数据库.
查询程序两个调用方式没有什么不同为什么oracle可以而mysql不行呢?我查了一些资料说数据库表必须是INNODB数据存储引擎才可以实现事务控制.我也确认一下的mysql的事务支持环境,我用nnodb+5.1server+connector/j5.0网上都说可以支持xa事务,我实在搞不懂问题到底出在哪?是mysql需要特殊设置才行吗?不知道有没有同学用jotm实现过mysql的分布式事务.
java 代码
- public void saveUser(OracleUser user1,MysqlUser user2){
- save(user1);
- save(user2)
- }
1.Oracle的事务控制正常,当sava(user2)失败是oracle实现回滚.如果没有问题就顺利提交.
2.Mysql事务控制失败,当save(user1)失败时照样插入数据库.
查询程序两个调用方式没有什么不同为什么oracle可以而mysql不行呢?我查了一些资料说数据库表必须是INNODB数据存储引擎才可以实现事务控制.我也确认一下的mysql的事务支持环境,我用nnodb+5.1server+connector/j5.0网上都说可以支持xa事务,我实在搞不懂问题到底出在哪?是mysql需要特殊设置才行吗?不知道有没有同学用jotm实现过mysql的分布式事务.