首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring事务管理的控制有关问题

2012-10-25 
spring事务管理的控制问题bean idtransactionManager namecodepublic void update(){//从上面的配

spring事务管理的控制问题

<bean id="transactionManager" name="code">public void update(){  //从上面的配置文件,得到两个userDaoProxy对象,   formalDaoProxy.update(bean);  backupDaoProxy.update(bean);}


这样的话,由于正式表与备份表要保持数据一致性,所以,两个update其中一个失败, 另一个都要rollback , 但是这两个Dao, 分别由两个独立事务来自动管理的, commit或rollback都不能干预, 请问怎样可以用代码来控制其rollback?我找了很久都找不到.请教一下大家, 谢谢. public void update() { formalDaoProxy.update(bean); //update1 backupDaoProxy.update(bean); //update2}

最主要的问题是, update1一执行成功,马上被自动commit了,如果接下来update2失败了,那主数据库和备份数据库中的数据就不一致了. 所以我想把两个update,归为一个事务当中,两个update都成功,才两个一起commit. 但是又不想把所有相关代码都重写,所以问一下有没有解决的办法.


<property name="url" value="jdbc:mysql://localhost/joe" />
<property name="username" value="" />
<property name="password" value="" />
</bean>

<bean id="accountDataSource"
value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/test" />
<property name="username" value="root" />
<property name="password" value="123" />
</bean>

<bean id="mySessionFactory"
ref="adminDataSource" />
<property name="mappingResources">
<list>
<value>backup/Admin.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>org.hibernate.dialect.MySQLDialect</value>
</property>
</bean>

<bean id="mySessionFactory2"
ref="accountDataSource" />
<property name="mappingResources">
<list>
<value>backup/Account.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>org.hibernate.dialect.MySQLDialect</value>
</property>
</bean>

<bean id="admindao" ref="mySessionFactory" />
</bean>

<bean id="accountdao" ref="mySessionFactory" />
</bean>



<bean id="checkuser" ref="admindao" />
<property name="accountdao" ref="accountdao" />
</bean>

<bean id="myTxManager" ref="mySessionFactory2"/>
</bean>


<bean id="myProductService"
ref="checkuserservice"/>


<property name="transactionAttributes">
<props>
<prop key="update*">PROPAGATION_REQUIRED</prop>

</props>
</property>
</bean>



</beans>

热点排行