public interface CompletionHandler
The asynchronous channels defined in this package allow a completion handler to be specified to consume the result of
an asynchronous operation. The completed()
method is invoked when the I/O operation completes successfully.
The failed(Throwable)
method is invoked if the I/O operations fails. The implementations of these methods
should complete in a timely manner so as to avoid keeping the invoking thread from dispatching to other completion
handlers.
Because a CompletionHandler might have a completely different lifespan than the originating ContentChannel objects,
all instances of this interface are internally backed by a reference to the Container
that was active when
the initial Request was created. This ensures that the configured environment of the CompletionHandler is stable
throughout its lifetime. This also means that the either completed()
or failed(Throwable)
MUST be
called in order to release that reference. Failure to do so will prevent the Container from ever shutting down.
Modifier and Type | Method and Description |
---|---|
void |
completed()
Invoked when an operation has completed.
|
void |
failed(Throwable t)
Invoked when an operation fails.
|
void completed()
failed(Throwable)
to
release the internal Container
reference. Failure to do so will prevent the Container from ever shutting
down.void failed(Throwable t)
completed()
to release the
internal Container
reference. Failure to do so will prevent the Container from ever shutting down.t
- The exception to indicate why the I/O operation failed.Copyright © 2017. All rights reserved.