TransactionSynchronization sallow在afterComplete进程时抛出的RuntimeException

时间:2014-12-19 09:59:13

标签: java spring hibernate jpa spring-transactions

Spring有事务同步器吃掉运行时异常,这里是弹簧代码 -

public static void invokeAfterCompletion(List<TransactionSynchronization> synchronizations, int completionStatus) {
        if (synchronizations != null) {
            for (TransactionSynchronization synchronization : synchronizations) {
                try {
                    synchronization.afterCompletion(completionStatus);
                }
                catch (Throwable tsex) {
                    logger.error("TransactionSynchronization.afterCompletion threw exception", tsex);
                }
            }
        }
    }

有没有办法了解AfterComplete时抛出的异常?我考虑过像线程本地的解决方案,但spring是否提供了一种干净的处理方式? 任何人?

修改

postCompletion方法检查是否已触发回滚并进行一些清理。如果清理因连接重置或网络问题等异常而失败,我想在我的代码中添加重试机制。由于postCompletion由第三方代码调用它抛出异常RollbackFailed。我希望捕获该异常并添加重试次数,因为释放资源对我来说很重要。 参考spring jira问题 - https://jira.spring.io/browse/SPR-12560

0 个答案:

没有答案
相关问题