From f52481493c635b7c807939f5052f380c7ede4826 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deleuze?= Date: Tue, 27 Jan 2026 15:10:56 +0100 Subject: [PATCH] Use `@Nullable Void` in TaskCallback#from See gh-36208 --- .../java/org/springframework/core/retry/support/RetryTask.java | 3 ++- .../main/java/org/springframework/core/task/TaskCallback.java | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/core/retry/support/RetryTask.java b/spring-core/src/main/java/org/springframework/core/retry/support/RetryTask.java index 0f81aa57984..90c21e18464 100644 --- a/spring-core/src/main/java/org/springframework/core/retry/support/RetryTask.java +++ b/spring-core/src/main/java/org/springframework/core/retry/support/RetryTask.java @@ -196,8 +196,9 @@ public class RetryTask implemen * @param retryTemplate the retry delegate to use (typically a {@link RetryTemplate} * but declaring the {@link RetryOperations} interface for flexibility) */ + @SuppressWarnings("NullAway") // https://github.com/uber/NullAway/issues/1451 public static Runnable wrap(Runnable task, RetryOperations retryTemplate) { - RetryTask rt = new RetryTask<>(TaskCallback.from(task), retryTemplate) { + RetryTask<@Nullable Void, RuntimeException> rt = new RetryTask<>(TaskCallback.from(task), retryTemplate) { @Override public String getName() { return task.getClass().getName(); diff --git a/spring-core/src/main/java/org/springframework/core/task/TaskCallback.java b/spring-core/src/main/java/org/springframework/core/task/TaskCallback.java index a5b7a05fb4f..1bd49fe9c0a 100644 --- a/spring-core/src/main/java/org/springframework/core/task/TaskCallback.java +++ b/spring-core/src/main/java/org/springframework/core/task/TaskCallback.java @@ -55,8 +55,7 @@ public interface TaskCallback e * Derive a {@link TaskCallback} from the given {@link Runnable}. * @since 7.0.4 */ - @SuppressWarnings("NullAway") - static TaskCallback from(Runnable task) { + static TaskCallback<@Nullable Void, RuntimeException> from(Runnable task) { return () -> { task.run(); return null;