springboot的编程式事务

本人在springboot项目开发中,涉及到调用第三方接口,请求第三方接口成功但返回相关交易失败的话,需要删除插入表的某条数据,或更新别表中的表状态同时记录日志等,将第三方请求的实际完成情况返回给前端,使用@Transactional注解不能满足我的需求,在某博客(忘记了)看到了该编程式事务,用起来还不错。


代码如下:

import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;

注入事务管理器对象:

@Autowired
private PlatformTransactionManager txManager;

开启事务:

TransactionStatus status = txManager.getTransaction(new DefaultTransactionDefinition());

提交:

txManager.commit(status);

回滚:

txManager.rollback(status);

你可能感兴趣的:(springboot)