Spring 配置mysql事務不生效問題解決

關於事務配置的問題,在實際開發中遇到,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

 

作下筆記,以便回顧。配置

相關文章
相關標籤/搜索