✎
编程开发网
首页
C语言
C++
面试
Linux
函数
Windows
数据库
下载
搜索
当前位置:
首页
->
AI编程基础
->
JAVA
Spring框架学习[Spring事务处理的实现](五)
2014-11-24 03:00:34
·
作者:
·
浏览:
2
标签:
Spring
框架
学习
事务
处理
实现
wTransaction()) { if (status.isDebug()) { logger.debug("Initiating transaction rollback"); } //回滚处理,由具体的事务处理器实现 doRollback(status); } //如果在当前事务中没有新建事务 else if (status.hasTransaction()) { //如果当前事务状态为本地回滚,或全局回滚失败 if (status.isLocalRollbackOnly() || isGlobalRollbackOnParticipationFailure()) { if (status.isDebug()) { logger.debug( "Participating transaction failed - marking existing transaction as rollback-only"); } //设置当前事务状态为回滚 doSetRollbackOnly(status); } //当前事务状态没有设置为本地回滚,且没有产生全局回滚失败,则//由线程中的前一个事务来处理回滚,这个步骤任何处理 else { if (status.isDebug()) { logger.debug( "Participating transaction failed - letting transaction originator decide on rollback"); } } } //如果当前线程没有事务 else { logger.debug("Should roll back transaction but cannot - no transaction available"); } } //对回滚操作过程中的运行时异常和错误的处理 catch (RuntimeException ex) { triggerAfterCompletion(status, TransactionSynchronization.STATUS_UNKNOWN); throw ex; } catch (Error err) { triggerAfterCompletion(status, TransactionSynchronization.STATUS_UNKNOWN); throw err; } //回滚操作完成后,触发回滚之后回调操作 triggerAfterCompletion(status, TransactionSynchronization.STATUS_ROLLED_BACK); } //清除回滚之后事务状态信息 finally { cleanupAfterCompletion(status); } }
首页
上一页
2
3
4
5
6
7
8
下一页
尾页
5
/10/10