R
- response typepublic abstract class AbstractExecutionGraphHandler<R extends ResponseBody,M extends JobMessageParameters> extends AbstractRestHandler<RestfulGateway,EmptyRequestBody,R,M>
AccessExecutionGraph
based REST handlers.log
leaderRetriever, localAddressFuture, logger, timeout
Modifier | Constructor and Description |
---|---|
protected |
AbstractExecutionGraphHandler(CompletableFuture<String> localRestAddress,
GatewayRetriever<? extends RestfulGateway> leaderRetriever,
Time timeout,
MessageHeaders<EmptyRequestBody,R,M> messageHeaders,
ExecutionGraphCache executionGraphCache,
Executor executor) |
Modifier and Type | Method and Description |
---|---|
protected abstract R |
handleRequest(HandlerRequest<EmptyRequestBody,M> request,
AccessExecutionGraph executionGraph)
Called for each request after the corresponding
AccessExecutionGraph has been retrieved from the
ExecutionGraphCache . |
protected CompletableFuture<R> |
handleRequest(HandlerRequest<EmptyRequestBody,M> request,
RestfulGateway gateway)
This method is called for every incoming request and returns a
CompletableFuture containing a the response. |
getMessageHeaders, respondAsLeader
channelRead0
acceptInboundMessage, channelRead
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
handlerAdded, handlerRemoved, isSharable
protected AbstractExecutionGraphHandler(CompletableFuture<String> localRestAddress, GatewayRetriever<? extends RestfulGateway> leaderRetriever, Time timeout, MessageHeaders<EmptyRequestBody,R,M> messageHeaders, ExecutionGraphCache executionGraphCache, Executor executor)
protected CompletableFuture<R> handleRequest(@Nonnull HandlerRequest<EmptyRequestBody,M> request, @Nonnull RestfulGateway gateway) throws RestHandlerException
AbstractRestHandler
CompletableFuture
containing a the response.
Implementations may decide whether to throw RestHandlerException
s 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<RestfulGateway,EmptyRequestBody,R extends ResponseBody,M extends JobMessageParameters>
request
- request that should be handledgateway
- leader gatewayRestHandlerException
- if the handling failedprotected abstract R handleRequest(HandlerRequest<EmptyRequestBody,M> request, AccessExecutionGraph executionGraph) throws RestHandlerException
AccessExecutionGraph
has been retrieved from the
ExecutionGraphCache
.request
- for further informationexecutionGraph
- for which the handler was calledRestHandlerException
- if the handler could not process the requestCopyright © 2014–2018 The Apache Software Foundation. All rights reserved.