Browse Source

Declare Callable parameter with nullable type variable

Closes gh-36191
pull/36195/head
Juergen Hoeller 1 week ago
parent
commit
c05ea841bc
  1. 6
      spring-core/src/main/java/org/springframework/core/task/AsyncTaskExecutor.java

6
spring-core/src/main/java/org/springframework/core/task/AsyncTaskExecutor.java

@ -21,6 +21,8 @@ import java.util.concurrent.CompletableFuture; @@ -21,6 +21,8 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
import org.jspecify.annotations.Nullable;
import org.springframework.util.concurrent.FutureUtils;
/**
@ -105,7 +107,7 @@ public interface AsyncTaskExecutor extends TaskExecutor { @@ -105,7 +107,7 @@ public interface AsyncTaskExecutor extends TaskExecutor {
* @throws TaskRejectedException if the given task was not accepted
* @since 3.0
*/
default <T> Future<T> submit(Callable<T> task) {
default <T extends @Nullable Object> Future<T> submit(Callable<T> task) {
FutureTask<T> future = new FutureTask<>(task);
execute(future, TIMEOUT_INDEFINITE);
return future;
@ -132,7 +134,7 @@ public interface AsyncTaskExecutor extends TaskExecutor { @@ -132,7 +134,7 @@ public interface AsyncTaskExecutor extends TaskExecutor {
* @throws TaskRejectedException if the given task was not accepted
* @since 6.0
*/
default <T> CompletableFuture<T> submitCompletable(Callable<T> task) {
default <T extends @Nullable Object> CompletableFuture<T> submitCompletable(Callable<T> task) {
return FutureUtils.callAsync(task, this);
}

Loading…
Cancel
Save