Skip to content

Commit

Permalink
Avoid misleading log message for commit-triggering exception
Browse files Browse the repository at this point in the history
Closes gh-25253
  • Loading branch information
jhoeller committed Jun 17, 2020
1 parent 3db0bd2 commit 7a8fc0e
Showing 1 changed file with 11 additions and 9 deletions.
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2019 the original author or authors.
* Copyright 2002-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -307,11 +307,12 @@ protected Object invokeWithinTransaction(Method method, @Nullable Class<?> targe
}

else {
Object result;
final ThrowableHolder throwableHolder = new ThrowableHolder();

// It's a CallbackPreferringPlatformTransactionManager: pass a TransactionCallback in.
try {
Object result = ((CallbackPreferringPlatformTransactionManager) tm).execute(txAttr, status -> {
result = ((CallbackPreferringPlatformTransactionManager) tm).execute(txAttr, status -> {
TransactionInfo txInfo = prepareTransactionInfo(tm, txAttr, joinpointIdentification, status);
try {
return invocation.proceedWithInvocation();
Expand All @@ -336,12 +337,6 @@ protected Object invokeWithinTransaction(Method method, @Nullable Class<?> targe
cleanupTransactionInfo(txInfo);
}
});

// Check result state: It might indicate a Throwable to rethrow.
if (throwableHolder.throwable != null) {
throw throwableHolder.throwable;
}
return result;
}
catch (ThrowableHolderException ex) {
throw ex.getCause();
Expand All @@ -359,11 +354,17 @@ protected Object invokeWithinTransaction(Method method, @Nullable Class<?> targe
}
throw ex2;
}

// Check result state: It might indicate a Throwable to rethrow.
if (throwableHolder.throwable != null) {
throw throwableHolder.throwable;
}
return result;
}
}

/**
* Clear the cache.
* Clear the transaction manager cache.
*/
protected void clearTransactionManagerCache() {
this.transactionManagerCache.clear();
Expand Down Expand Up @@ -682,6 +683,7 @@ public String toString() {
@FunctionalInterface
protected interface InvocationCallback {

@Nullable
Object proceedWithInvocation() throws Throwable;
}

Expand Down

0 comments on commit 7a8fc0e

Please sign in to comment.