From c052a0259238ee577a00a55abeb771fb967de440 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 7 Jun 2023 17:21:41 +0200 Subject: [PATCH] Ignore null message when introspecting resource cleanup failure Closes gh-30597 --- .../interceptor/TransactionAspectSupport.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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 64c3d3a4fd7..1ce0313d977 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; }