ky498320858 2011-06-30 00:11
浏览 324
已采纳

spring aop 事务控制 为何异常时不会滚呢?

spring事务相关配置

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



<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="add*" propagation="REQUIRED" />
        <tx:method name="upd*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
        <tx:method name="del*" propagation="REQUIRED" />
        <tx:method name="*" propagation="SUPPORTS" />
    </tx:attributes>
</tx:advice>

<aop:config>
    <aop:pointcut id="canyin" expression="execution(* com.laphone.base.baseservice.*.*(..)) ||execution(* com.laphone.canyin.*.service.*.*(..)) || execution(* com.laphone.canyin.*.*.service.*.*(..))"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="canyin" />
</aop:config>

service中的方法updForOrder()使用了try catch(Exception e);
但是出现异常时还是有部分数据存到了数据库,说明异常时没有回滚。

请问xdjm们有没有碰到过这种问题,csdn上有很多这种问题,但几乎都试过,没能解决
分不多,海涵~

  • 写回答

4条回答 默认 最新

  • apeidou 2011-06-30 13:54
    关注

    哦,不好意思,没看到,
    你的问题应该就是一楼说的
    大概你没理解1楼的意思,
    [code="java"]try {
    xxxx;
    } catch (xxx e) {
    throw e;// 或者throw new XXXE(e)
    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥85 maple软件,solve求反函数,出现rootof怎么办?
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题