六. Spring 事务传播等级
Spring 事务传播有七个等级,假设有 methodA 调用 methodB,根据事务传播等级的设置,methodA 与 methodB 有如下效果:
- PROPAGATION_REQUIRED:默认等级,支持事务,如果没有事务,则新建一个事务;
- PROPAGATION_SUPPORTED:支持事务,如果没有事务,则不新建事务;
- PROPAGATION_MANDATORY:支持事务,如果没有事务,则抛出异常;
- PROPAGATION_REQUIRED_NEW:支持事务,如果当前正在一个事务中,则新建一个事务;
- PROPAGATION_NOT_SUPPORTED:不支持事务,如果当前正在一个事务之中,则把该事务挂起后,执行当前内容,执行结束后再重新执行事务;
- PROPAGATION_NEVER:不支持事务,如果当前正在一个事务之中,则抛出异常;
- PROPAGATION_NESTED:支持嵌套事务;