日期:2014-05-17  浏览次数:20705 次

请教spring mvc 多数据库的事务问题
参考这里头说的方法:
http://liuu.iteye.com/blog/973218


@Transactional("test")
public int insertTest(TestUserEntity userEntity,TestIdEntity idEntity)
{

int ret = 0;
this.testUserDao.insertTestUser(userEntity);
ret = this.testIdDao.insertIdDao(idEntity);//特意失败

return ret;
}


 
   
  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    
        <property name="dataSource" ref="dataSource" /> 
        <qualifier value="home"/>    
    </bean>    
    <bean id="transactionManager_test" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    
        <property name="dataSource" ref="dataSource_test" /> 
         <qualifier value="test"/>     
    </bean>    
    <tx:annotation-driven order= "2"/>  
    </bean>

结果insertIdDao失败了。insertTestUser(userEntity)却成功插入数据了。

------解决方案--------------------
分布式事务管理需要带 xa  的数据库驱动