bboss persistent事务管理介绍 (十一)

4.9.10声明式事务和可编程事务混合使用

    通过使用声明式的事务,开发人员无需在代码中再嵌入事务管理的代码。如果用户即声明了事务,又在代码中嵌入了事务管理代码,那么事务管理框架根据事务类型进行相应的处理,具体的处理方法见下表:

 

方法实现中开启事务类型

方法声明事

务类型

NEW_TRANSACTION

REQUIRED_TRANSACTION

MAYBE_TRANSACTION

NO_TRANSACTION

NEW_TRANSACTION

屏蔽声明的事务,程序中开启一个新事务

使用声明的事务

使用声明的事务

屏蔽声明

的事务,

程序在

没有事

务的环

境下运行

REQUIRED_TRANSACTION

屏蔽声明的事务,程序中开启一个新事务

使用声明的事务

使用声明的事务

屏蔽声明

的事务,

程序在

没有事务

的环境下运行

MAYBE_TRANSACTION

如果声明的事务存在,屏蔽声明的事务,程序中开启一个新事务

如果声明的事务存在,则使用声明的事务,否则开启一个新的事务

如果声明的事务存在,则使用声明的事务,否则不需声明事务

如果声明的

事务存在,

屏蔽声明的

事务,程序在

没有事务的

环境下运行

NO_TRANSACTION

程序中开启一个新事务

程序中开启一个新事务

程序在没有事务的环境下运行

程序在没有

事务的环境

下运行

作为使用事务的一个原则,系统中不应该出现同一个方法中既使用声明式事务又在代码中编写事务管理代码的情况,这样会导致达不到预期的事务管理的效果。

上一篇:4月2日云栖精选夜读 | 对话行癫:解密阿里云顶层设计和底层逻辑


下一篇:阿里云ECS服务器安装docker教程(详细图文)