Spring 事务回滚失败

问题描述

applicationContext.xml中配置:。。。。。。<aop:config><aop:pointcut id="servicesPointcut" expression="execution(* *.impl.service.*.*(..))" /><aop:advisor advice-ref="txAdvice" pointcut-ref="servicesPointcut" /></aop:config><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="*" propagation="REQUIRED" /></tx:attributes></tx:advice>Service 文件中package web.impl.service;。。。。。public class PictureServiceImpl implements PictureServiceAware { 。。。。。。 pictureDao.addPicture(picture);//保存到数据库 throw new Exception("");}怎么数据库还是有插入数据呢? 问题补充:<tx:method name="*" propagation="REQUIRED" rollback-for="Exception"/>这样配置,还是会插入数据的。

解决方案

没有问题。配置文件也发来吧
解决方案二:
应该不会出现这种问题,你检查看看PictureServiceImpl 是否被aop的代理。或者把dao,action 函数发来看看
解决方案三:
抛出RuntimeException异常。或者配置事物处理异常<tx:method name="*" propagation="REQUIRED" rollback-for="Exception"/>

时间: 2024-10-31 17:36:44

Spring 事务回滚失败的相关文章

插入多条数据回滚-hibernate 手动控制事务回滚失败

问题描述 hibernate 手动控制事务回滚失败 spring配置: 5201005100 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" />

spring事务回滚只能配在service层吗。为什么我想在Test中添加事务不能进行回滚呢

问题描述 spring事务回滚只能配在service层吗.为什么我想在Test中添加事务不能进行回滚呢 <tx:advice id="txAdvice2" transaction-manager="txManager"> <tx:attributes> <tx:method name="inserttwo*" propagation="REQUIRED"/> </tx:attribut

spring 事务 回滚-spring @Transactional 事务不能回滚

问题描述 spring @Transactional 事务不能回滚 在spring的配置文件里配置如下: <!-- enable the configuration of transactional behavior based on annotations --> <tx:annotation-driven transaction-manager="txManager"/> <!-- a PlatformTransactionManager is sti

spring 事务回滚问题

问题描述 我有2个DAO分别是IndepotOrderDao和InDepotRecordDao都继承JdbcDaoSupportpublicclassIndepotOrderDaoImplextendsJdbcDaoSupport{saveInDepotOrder(IndepotOrderindepotOrder){sql="insertintoindepotOrder(name)value(?)";Object[]args={"orderName"};this.g

spring 事务回滚

问题描述 @Transactionalpublic Map routSave(RoutFormBean routbean) throws Exception{ Map result=new HashMap();StringBuffer sb=new StringBuffer();sb.append("delete from WfNrouteTbl where nrountePk.dnp_kbn='");sb.append(routbean.getDnp());sb.append(&qu

spring的事务回滚策略为自定义异常

问题描述 spring的事务回滚策略为自定义异常 我配置的回滚策略如下 BusinessException是个自定义异常,继承了RuntimeException,按道理来说spring应该是捕捉到这个异常类或这个异常类的子类才进行的回滚,但是为什么抛出RuntimeException以后事务还是会回滚? 解决方案 http://shaohan126448.iteye.com/blog/1536879 解决方案二: spring异常与事务回滚Spring异常抛出触发事务回滚策略异常类型 &&

ThinkPHP实现事务回滚示例代码_php实例

ThinkPHP的事务回滚示例如下: $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->startTrans();//在第一个模型里启用就可以了,或者第二个也行 $result=$m->where('删除条件')->delete(); $result2=m2->where('删除条件')->delete(); if($result && $result2){ $m->commit();//成功则提交

spring 注解事务回滚问题

问题描述 spring 注解事务回滚问题 ,错误异常是数据库表主键不可重复,控制台报了违反了表的约术,但是SPring却不回滚..项目能正常运行.用的是注解. 解决方案 看看这里http://my.oschina.net/xuqiang/blog/97633

java-银行交易如何实现类似事务回滚

问题描述 银行交易如何实现类似事务回滚 在做的项目中,有一个基金产品的购买交易,里面的大致逻辑是 先判断用户是否基金开户,未开户发交易开基金账户>是否签约***(具体什么省略) 未签约发交易签约>最后一步发交易购买该款基金产品. 但现在的问题是购买失败则一个java类里的前两个交易都给做了现在,想不出什么类似操作数据库的事务回滚机制才控制这段交易,该交易在一个页面完成.望经验丰富的朋友给个思路,谢谢! 解决方案 你可以使用应用层的事务框架,或者自己实现一个简单的:先将操作放入临时的表中,然后一