编程式事务
编程式事务是指事务操作的需要通过编写代码方式来实现。
基本样例
TransactionManager txManager = ...
// begin
TransactionStatus tranA = txManager.begin();
...
// commint
txManager.commit(tranA);
通过 begin 方法的参数可以设置事务的 传播属性 和 隔离级别
指定传播属性和隔离级别
TransactionStatus tranA = txManager.begin(
Propagation.REQUIRES_NEW, // 传播属性
Isolation.READ_COMMITTED // 隔离级别
);
获取事务管理器
通过 DataSource 获取
DataSource dataSource = ...
TransactionManager txManager = TransactionHelper.txManager(dataSource);
通过 依赖注入 获取
public class TxExample {
// @Inject < Guice、Solon 和 Hasor
// @Resource or @Autowired < Spring
private TransactionManager txManager;
...
}