A @Async megjegyzésekkel ellátott metódusoknak Future vagy void értéket kell visszaadniuk

Ez a szabály megjelöli a Java metódusokat, amelyek a következő megjegyzésekkel vannak ellátva org.springframework.scheduling.annotation.Async amelyek a void, Future<t>, CompletableFuture<t> vagy ListenableFuture<t>.

A Spring Framework 6-ban ezek a visszatérési típusokra vonatkozó követelmények szigorúan érvényesek futásidőben. Bármely @Async metódus, amely nem támogatott típust ad vissza, mostantól Exception-t dob.

A következő példa a @Async-t használó módszerek érvényes használatát mutatja, megfelelő visszatérési típussal.


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;
    }
}

Az alábbi információforrások nyújtanak további tájékoztatást: