石家庄模板自助建站,网站cname解析,网站如何备份数据,代理充值平台网站Spring事务生命周期 Spring事务事务生命周期 接口 TransactionSynchronizationTransactionalEventListener#xff08;另一种监听事务周期的方式#xff09; Spring事务
Spring对JDBC事务做了封装#xff0c;使其易于使用。主要分为声明式事务和编程式事务。
Transactiona… Spring事务生命周期 Spring事务事务生命周期 接口 TransactionSynchronizationTransactionalEventListener另一种监听事务周期的方式 Spring事务
Spring对JDBC事务做了封装使其易于使用。主要分为声明式事务和编程式事务。
Transactional(rollbackFor Exception.class)TransactionTemplate
事务生命周期 接口 TransactionSynchronization
通常我们可以在开启事务后通过TransactionSynchronizationManager#registerSynchronization 方法注册自定义的事务周期函数。 // 伪代码
//开启事务
TransactionSynchronizationManager.registerSynchronization(registerSynchronization)
// 提交事务 or 回滚事务对应的事务生命周期会调用自定义registerSynchronization对应的回调函数。 所有事务状态均保存在ThreadLocal中因此事务相关的逻辑注意跨线程。
TransactionalEventListener另一种监听事务周期的方式
TransactionalEventListener 可以在事务的指定阶段监听事务中发出的自定义事件。 可以监听的阶段
BEFORE_COMMIT,AFTER_COMMIT,AFTER_ROLLBACK,AFTER_COMPLETION
// 发布事件
// 事务开启
applicationContext.publishEvent(customEventevent);// 监听事件
TransactionalEventListener(phase TransactionPhase.AFTER_COMMIT, classes CustomEvent.class)
public void handleCustomEvent(CustomEventevent) {// 在特定的事务阶段调用
}