论坛首页 入门技术论坛

spring事务管理的控制问题

浏览 10854 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-06-20  
和kele8boy碰到的情况一样,及时target映射的是service层,service包含的两个不同DAO的方法也不能被事务管理。比如update1()和update2()
$update1()//正确
$update2()//异常
update1()还是被提交、update2()提交失败。两者并没有管理在同一个事务中。
配置文件如下:

<beans>
<bean id="adminDataSource"
class="org.apache.tomcat.dbcp.dbcp.BasicDataSource"
destroy-method="close">

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

<bean id="accountDataSource"
class="org.apache.tomcat.dbcp.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" 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"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" 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"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" 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" class="dao.AdminDAO">
<property name="sessionfactory" ref="mySessionFactory" />
</bean>

<bean id="accountdao" class="dao.AccountDAO">
<property name="sessionfactory" ref="mySessionFactory" />
</bean>



<bean id="checkuser" class="service.local.CheckUser">
<property name="admindao" ref="admindao" />
<property name="accountdao" ref="accountdao" />
</bean>

<bean id="myTxManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="mySessionFactory2"/>
</bean>


<bean id="myProductService"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="myTxManager"/>
</property>
<property name="target" ref="checkuserservice"/>


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

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



</beans>
0 请登录后投票
   发表时间:2007-06-20  
id:checkuser更改为:checkuserservice
0 请登录后投票
   发表时间:2007-06-21  
问题解决了,还是在本网站找到的解决办法。提供URL:http://www.iteye.com/topic/10296(见第6个问题)
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics