Spring中事务提交成功后处理的异步调用方法

问题

想要在Spring中提交事务成功后,调用一部分异步方法。spring

解决

TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
    @Override
    public void afterCommit() {
    // 事务提交成功后,异步方法调用

    }
});

注意

在Service层中使用Spring的异步事件回调,必定要在Service层的入口方法处,添加@Transactional(rollbackFor = Exception.class)注解,否则,容易出现Transaction synchronization is not active 问题。数据库

参考

相关文章
相关标签/搜索