Spring中事務提交成功後處理的異步調用方法

問題

想要在Spring中提交事務成功後,調用一部分異步方法。spring

解決

TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
    @Override
    public void afterCommit() {
    // 事務提交成功後,異步方法調用

    }
});

注意

在Service層中使用Spring的異步事件回調,必定要在Service層的入口方法處,添加@Transactional(rollbackFor = Exception.class)註解,否則,容易出現Transaction synchronization is not active 問題。數據庫

參考

相關文章
相關標籤/搜索