From 03d28330c2746753ca0500f9e46cc1222fef3e4b Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Mon, 20 Nov 2023 15:10:30 +0100 Subject: [PATCH] Fix NPE in RepeatTemplate Resolves #1123 --- .../batch/repeat/support/RepeatTemplate.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/support/RepeatTemplate.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/support/RepeatTemplate.java index 4e81315d1..7b7af3fc6 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/support/RepeatTemplate.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/support/RepeatTemplate.java @@ -286,8 +286,15 @@ public class RepeatTemplate implements RepeatOperations { } if (logger.isDebugEnabled()) { - logger.debug("Handling exception: " + throwable.getClass().getName() + ", caused by: " - + unwrappedThrowable.getClass().getName() + ": " + unwrappedThrowable.getMessage()); + StringBuilder message = new StringBuilder("Handling exception: ") + .append(throwable.getClass().getName()); + if (unwrappedThrowable != null) { + message.append(", caused by: ") + .append(unwrappedThrowable.getClass().getName()) + .append(": ") + .append(unwrappedThrowable.getMessage()); + } + logger.debug(message.toString()); } exceptionHandler.handleException(context, unwrappedThrowable);