diff --git a/api/src/main/java/jakarta/enterprise/concurrent/Async.java b/api/src/main/java/jakarta/enterprise/concurrent/Async.java index c4d1ac7a..692e80b0 100644 --- a/api/src/main/java/jakarta/enterprise/concurrent/Async.java +++ b/api/src/main/java/jakarta/enterprise/concurrent/Async.java @@ -29,6 +29,9 @@ /** * Annotates a CDI managed bean method to run asynchronously. + * The CDI managed bean must not be an EJB or JSF managed bean, + * and neither the method nor its class can be annotated with + * the MicroProfile Asynchronous annotation. *

* The Jakarta EE Product Provider runs the method on a {@link ManagedExecutorService} * and returns to the caller a {@link java.util.concurrent.CompletableFuture CompletableFuture} diff --git a/specification/src/main/asciidoc/jakarta-concurrency.adoc b/specification/src/main/asciidoc/jakarta-concurrency.adoc index 57d843e7..5a7e2bb0 100644 --- a/specification/src/main/asciidoc/jakarta-concurrency.adoc +++ b/specification/src/main/asciidoc/jakarta-concurrency.adoc @@ -2306,7 +2306,9 @@ task. == Asynchronous Methods The `jakarta.enterprise.concurrent.Async` annotation annotates a -CDI managed bean method to run asynchronously. +CDI managed bean method to run asynchronously. The CDI managed bean must +not be an EJB or JSF managed bean, and neither the method nor its class +can be annotated with the MicroProfile Asynchronous annotation. Each asynchronous method execution corresponds to a managed `java.util.concurrent.CompletableFuture` instance that is backed by a