问题
想要在Spring中提交事务成功后,调用一部分异步方法。
解决
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCommit() {
// 事务提交成功后,异步方法调用
}
});
注意
在Service层中使用Spring的异步事件回调,一定要在Service层的入口方法处,添加@Transactional(rollbackFor = Exception.class)
注解,不然,容易出现Transaction synchronization is not active 问题。