事务传播机制
2020-06-11 14:05:42 17 举报
AI智能生成
事务的传播机制
作者其他创作
大纲/内容
PROPAGATION_REQUIRED<br>
有则一起、无则自行处理
外层方法事务存在
内层方法加入外层事务<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
因为内外层方法处于同一事务内
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
因为内外层方法处于同一事务内
外层方法回滚
外层方法事务不存在
内层方法新建事务<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
PROPAGATION_REQUES_NEW<br>
完全靠自己
外层方法事务存在
挂起外层事务,内层方法新建事务<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法事务不存在
内层方法新建事务<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
PROPAGATION_SUPPORT
完全靠外部
外层方法事务存在
内层方法加入外层事务<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
因为内外层属于同一事物
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
因为内外层属于同一事物
外层方法回滚
外层方法事务不存在
内层方法无事务执行<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
PROPAGATION_NOT_SUPPORT<br>
完全无事务
外层方法事务存在
内层方法挂起外层事务、无事务执行<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法事务不存在
内层方法无事务执行<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
PROPAGATION_NEVER<br>
我自己没有,也不让你有<br>
外部方法事务存在<br>
抛异常
org.springframework.transaction.IllegalTransactionStateException: Existing transaction found for transaction marked with propagation 'never'<br>
外部方法事务不存在
内层方法无事务执行<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
PROPAGATION_MANDATORY<br>
你必须有,没有不行<br>
外部方法事务存在
内层方法加入外层事务<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
因为内外层属于同一事物
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
因为内外层属于同一事物
外层方法回滚
外部方法事务不存在
抛异常
org.springframework.transaction.IllegalTransactionStateException: No existing transaction found for transaction marked with propagation 'mandatory'
PROPAGATION_NESTED<br>
回滚点记录
外层方法事务存在
内层方法加入外层事务<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
内外层方法虽处于同一事务,但内层事务的回滚点到内层方法就结束了
无catch
内层方法回滚
外层方法回滚
内外层方法虽处于同一事务,但内层事务的回滚点到内层方法就结束了
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
因为内外层方法处于同一事务内
外层方法回滚
外层方法事务不存在
内层方法新建事务<br>
内层方法异常
在内层方法内catch
内层方法回滚
外层方法回滚
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
外层方法异常
在外层方法内catch
内层方法回滚
外层方法回滚
无catch
内层方法回滚
外层方法回滚
0 条评论
下一页