锁定老帖子 主题:spring事务管理的控制问题
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间: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> |
|
返回顶楼 | |
发表时间:2007-06-20
id:checkuser更改为:checkuserservice
|
|
返回顶楼 | |
发表时间:2007-06-21
问题解决了,还是在本网站找到的解决办法。提供URL:http://www.iteye.com/topic/10296(见第6个问题)
|
|
返回顶楼 | |