关于Spring的声明式事务,如果在被事务代理的service里手动捕获异常就无法回滚,而不手动捕获异常才可以回滚,这样就使得页面直接打印错误信息出来,怎么办??!!

xiaoge22275 2008-10-23 12:37:51
try {
//一系列的操作
}catch(Exception e) {
}
如果把try去掉,事务就起作用,但由于没有处理异常,至使页面直接产生错误。但用try又不会回滚,怎么办呀?
=================================
Spring的事务配置,用的是2.0支持的Annotation配置:
<tx:annotation-driven transaction-manager="transactionManager"/>

Service的方法:
@Transactional(propagation=Propagation.REQUIRED)
public int saveTask(Task entity) {
int mark = 0;
try {
//一系列操作
}catch(DataAccessException e) {
mark = 0;
System.out.println(e.getMessage());
}
return mark;
}
我想,是否还应该为@Transactional添加处理异常的属性?但我不知道如何设置。
...全文
294 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Isabel_y 2011-08-17
  • 打赏
  • 举报
回复
请问楼主如何解决的,我也碰到了这样棘手的问题。? 急~
ivanfanggz 2009-01-10
  • 打赏
  • 举报
回复
也该说说怎么解决吧- -,我想知道
xiaoge22275 2008-10-23
  • 打赏
  • 举报
回复
解决了。。。

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧