关于事务:事务回滚后回调

对了加了 @Transactional的办法,当办法抛出异样时会主动回滚。如果咱们此时想在回滚前执行一些办法,如开释锁。能够这么写:
/**

 * 实用于事务办法:事务实现后再开释锁
 *
 * @param key
 * @param requestId
 */
private void unlockAfterTransaction(String key, String requestId) {
    TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
        @Override
        public void afterCompletion(int status) {
            super.afterCompletion(status);
            distributeLocker.unlock(key, requestId);
            log.info("unlock success");
        }
    });
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理