该规则标记了 Java 方法 org.springframework.scheduling.annotation.Async 以外的类型的 void, Future<t>, CompletableFuture<t> 或 ListenableFuture<t>.
在 Spring Framework 6 中,运行时会严格执行这些返回类型要求。 任何 @Async 方法返回不支持的类型时,将抛出异常。
下面的示例展示了使用 @Async 并符合返回类型的方法的有效用法。
import org.springframework.scheduling.annotation.Async;
import java.util.concurrent.Future;
import java.util.concurrent.CompletableFuture;
import org.springframework.util.concurrent.ListenableFuture;
public class ValidAsyncMethods {
@Async
public void asyncVoid() {
}
@Async
public Future<String> asyncFuture() {
return null;
}
@Async
public CompletableFuture<Integer> asyncCompletableFuture() {
return null;
}
@Async
public ListenableFuture<String> asyncListenableFuture() {
return null;
}
}
有关更多信息,请参阅以下资源: