diff --git a/api/src/main/java/io/smallrye/faulttolerance/api/AsynchronousNonBlocking.java b/api/src/main/java/io/smallrye/faulttolerance/api/AsynchronousNonBlocking.java index 72f6715a..a422c7dc 100644 --- a/api/src/main/java/io/smallrye/faulttolerance/api/AsynchronousNonBlocking.java +++ b/api/src/main/java/io/smallrye/faulttolerance/api/AsynchronousNonBlocking.java @@ -14,7 +14,7 @@ /** * Alternative to MicroProfile Fault Tolerance's {@link org.eclipse.microprofile.faulttolerance.Asynchronous @Asynchronous} * for guarding non-blocking asynchronous methods (executed on the original thread). It may only be present on methods - * that declare return type of {@link java.util.concurrent.CompletionStage CompletionStage}. Otherwise, it has the same + * that declare return type of {@link java.util.concurrent.CompletionStage CompletionStage}. Other than that, it has the same * meaning as MicroProfile Fault Tolerance's {@link org.eclipse.microprofile.faulttolerance.Asynchronous @Asynchronous}. * More specifically: *

diff --git a/doc/modules/ROOT/pages/reference/timeout.adoc b/doc/modules/ROOT/pages/reference/timeout.adoc index 7211f866..2d884e11 100644 --- a/doc/modules/ROOT/pages/reference/timeout.adoc +++ b/doc/modules/ROOT/pages/reference/timeout.adoc @@ -7,9 +7,12 @@ For introduction, see xref:howto/timeout.adoc[How to Watch for Timeouts]. If a guarded method takes too long, the caller will get a `TimeoutException`. If the gaurded method is not `@Asynchronous` or `@AsynchronousNonBlocking`, the thread executing the method is interrupted. -Note that interruption requires cooperation from the executing code. +Note that interruption requires cooperation from the executing code (for example, it must not swallow `InterruptedException`). In other words, it is not guaranteed that interrupting the method will actually make it stop. +If the gaurded method is `@Asynchronous` or `@AsynchronousNonBlocking`, timeout is always signalled correctly, but there is no cancellation. +Even after timeout, the asynchronous action will keep running; its eventual result is just ignored. + [[interactions]] == Interactions with Other Strategies