浏览 2801 次
锁定老帖子 主题:求助! spring 事务问题????
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-08
事务模板配置: <bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="transactionAttributes"> <props> <prop key="add*">PROPAGATION_REQUIRED</prop> <prop key="set*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> 两个service配置: <bean id="businesswordService" parent="txProxyTemplate"> <property name="target"> <bean class="com.spring.service.impl.SBusinesswordService" autowire="byName" /> </property> </bean> <bean id="searchService" parent="txProxyTemplate"> <property name="target"> <bean class="com.spring.service.impl.SearchService" autowire="byName" /> </property> </bean> 我在searchService的一个方法里面 1、有自己的保存实体的操作 2、调用businesswordService里的一个方法保存实体 现在假如我在操作第二个功能的时候,报错了,怎么让第一个操作也回退? 希望大家能帮我,教我怎么配置这个事务? 谢谢了 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-08
重写一个server方法,将你的两个操作放在里面!我觉得应该行,没试过!
建议将server独立,别相互调用! |
|
返回顶楼 | |
发表时间:2007-01-08
PROPAGATION_REQUIRED是指如果存在已有事务则使用当前事务,否则开启一个新事务,但是从目前的情况来看楼主的事务配置是正确的呀,就是说如果方法抛出异常,那么整个方法都要回滚的,因为这个方法只开启了一个事务,即businesswordService里的保存实体的方法并没有开启新事务,不过楼主没有把代码贴出来可能影响我们的判断结果,如果可以的话楼主把代码贴出来看看
|
|
返回顶楼 | |
发表时间:2007-01-08
用spring的嵌套事务!
http://www.iteye.com/topic/35907 feiing的帖子讲得很详细! |
|
返回顶楼 | |
发表时间:2007-01-08
service方法不应该互相调用
|
|
返回顶楼 | |
发表时间:2007-01-08
不好意思,现在有一个新的问题了?
一个BaseService和接口IBaseService 一个ExcelService(继承BaseService)和接口IExcelService(继承IBaseService) 实现的功能是: 从Excel文件导入数据,文件中的一行,插入数据库中一条记录 在ExcelService中有个方法 public void importData(Sheet sheet){ int rows = sheet.getRows(); for(int i=0;i<rows;i++){ SUser user = new SUser(); .... this.save(user);//这个方法是BaseService中实现的 } } 现在假如Excel文件中的中间某一行记录插入失败的话,我想整个事务回滚到调用前的状态? 现在我配置的事务不起作用,前面几条记录,已经成功插入到数据库了? 事务,太难了 !!! |
|
返回顶楼 | |