diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java index 64c3d3a4fd..1ce0313d97 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java @@ -1067,10 +1067,11 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init * @param ex the throwable to try to unwrap */ private Throwable unwrapIfResourceCleanupFailure(Throwable ex) { - if (ex instanceof RuntimeException && - ex.getCause() != null && - ex.getMessage().startsWith("Async resource cleanup failed")) { - return ex.getCause(); + if (ex instanceof RuntimeException && ex.getCause() != null) { + String msg = ex.getMessage(); + if (msg != null && msg.startsWith("Async resource cleanup failed")) { + return ex.getCause(); + } } return ex; }