关于事务配置的问题,在实际开发中遇到,spring事务配置不生效的问题,费尽周折,方才解决。spring
spring xml 配置express
<!-- 启用事务--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="delete*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="create*" propagation="REQUIRED" /> <tx:method name="do*" propagation="REQUIRED" /> <tx:method name="start*" propagation="REQUIRED" /> <tx:method name="complete*" propagation="REQUIRED" /> <tx:method name="*" read-only="true" /> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="serviceOperation" expression="execution (* com.pms.system.mgr.service.impl.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" /> </aop:config>
代码以下图:.net
代码执行到fiveClassFlowService.start(param)发生异常,catch后向外抛出,但xml
work_flow_localtion_relation表插入数据,fiveClassFlowService.start(param)里的表并未插入。blog
可见事务配置压根就不生效,检查了xml的事务配置段,硬是没发现问题。事务
最后几经查证,网上有说法是异常抛出RuntimeException会回滚,详见开发
http://blog.csdn.net/y909513070/article/details/54924956get
最后把代码作下以下修改,因而乎,问题解决io
作下笔记,以便回顾。配置