T - type of the leader gatewayV - type of the operation resultM - type of the message headersprotected abstract class AbstractAsynchronousOperationHandlers.StatusHandler<T extends RestfulGateway,V,M extends MessageParameters> extends AbstractRestHandler<T,EmptyRequestBody,AsynchronousOperationResult<V>,M>
AsynchronousOperationResult which indicates whether the operation is still
in progress or has completed. In case that the operation has been completed, the AsynchronousOperationResult contains the operation result.log, MAPPERleaderRetriever, logger, responseHeaders, timeout| Modifier | Constructor and Description |
|---|---|
protected |
StatusHandler(GatewayRetriever<? extends T> leaderRetriever,
org.apache.flink.api.common.time.Time timeout,
Map<String,String> responseHeaders,
MessageHeaders<EmptyRequestBody,AsynchronousOperationResult<V>,M> messageHeaders) |
| Modifier and Type | Method and Description |
|---|---|
CompletableFuture<Void> |
closeHandlerAsync() |
protected abstract V |
exceptionalOperationResultResponse(Throwable throwable)
Create an exceptional operation result from the given
Throwable. |
protected abstract K |
getOperationKey(HandlerRequest<EmptyRequestBody> request)
Extract the operation key under which the operation result future is stored.
|
CompletableFuture<AsynchronousOperationResult<V>> |
handleRequest(HandlerRequest<EmptyRequestBody> request,
T gateway)
This method is called for every incoming request and returns a
CompletableFuture
containing a the response. |
protected abstract V |
operationResultResponse(R operationResult)
Create the operation result from the given value.
|
getMessageHeaders, respondToRequestcloseAsync, respondAsLeaderchannelRead0, getTimeoutacceptInboundMessage, channelReadchannelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredensureNotSharable, handlerAdded, handlerRemoved, isSharableprotected StatusHandler(GatewayRetriever<? extends T> leaderRetriever, org.apache.flink.api.common.time.Time timeout, Map<String,String> responseHeaders, MessageHeaders<EmptyRequestBody,AsynchronousOperationResult<V>,M> messageHeaders)
public CompletableFuture<AsynchronousOperationResult<V>> handleRequest(@Nonnull HandlerRequest<EmptyRequestBody> request, @Nonnull T gateway) throws RestHandlerException
AbstractRestHandlerCompletableFuture
containing a the response.
Implementations may decide whether to throw RestHandlerExceptions or fail the
returned CompletableFuture with a RestHandlerException.
Failing the future with another exception type or throwing unchecked exceptions is
regarded as an implementation error as it does not allow us to provide a meaningful HTTP
status code. In this case a HttpResponseStatus.INTERNAL_SERVER_ERROR will be
returned.
handleRequest in class AbstractRestHandler<T extends RestfulGateway,EmptyRequestBody,AsynchronousOperationResult<V>,M extends MessageParameters>request - request that should be handledgateway - leader gatewayRestHandlerException - if the handling failedpublic CompletableFuture<Void> closeHandlerAsync()
closeHandlerAsync in class AbstractHandler<T extends RestfulGateway,EmptyRequestBody,M extends MessageParameters>protected abstract K getOperationKey(HandlerRequest<EmptyRequestBody> request)
request - with which the status handler has been calledprotected abstract V exceptionalOperationResultResponse(Throwable throwable)
Throwable. This method is
called if the asynchronous operation failed.throwable - failure of the asynchronous operationCopyright © 2014–2025 The Apache Software Foundation. All rights reserved.