이 규칙은 주석이 달린 Java 메서드에 플래그를 지정합니다 org.springframework.scheduling.annotation.Async 이외의 유형을 반환하는 void, Future<t>, CompletableFuture<t> 또는 ListenableFuture<t>.
Spring 프레임워크 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;
}
}
자세한 정보는 다음 자원을 참조하십시오.