T
- type of the RestfulGateway
R
- request typeP
- response typeM
- message parameters typepublic abstract class AbstractResourceManagerHandler<T extends RestfulGateway,R extends RequestBody,P extends ResponseBody,M extends MessageParameters> extends AbstractRestHandler<T,R,P,M>
ResourceManager
.log, MAPPER
leaderRetriever, logger, responseHeaders, timeout
Modifier | Constructor and Description |
---|---|
protected |
AbstractResourceManagerHandler(GatewayRetriever<? extends T> leaderRetriever,
Time timeout,
Map<String,String> responseHeaders,
MessageHeaders<R,P,M> messageHeaders,
GatewayRetriever<ResourceManagerGateway> resourceManagerGatewayRetriever) |
Modifier and Type | Method and Description |
---|---|
static ResourceManagerGateway |
getResourceManagerGateway(GatewayRetriever<ResourceManagerGateway> resourceManagerGatewayRetriever) |
protected abstract CompletableFuture<P> |
handleRequest(HandlerRequest<R> request,
ResourceManagerGateway gateway) |
protected CompletableFuture<P> |
handleRequest(HandlerRequest<R> request,
T gateway)
This method is called for every incoming request and returns a
CompletableFuture
containing a the response. |
getMessageHeaders, respondToRequest
closeAsync, closeHandlerAsync, respondAsLeader
channelRead0
acceptInboundMessage, channelRead
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close
protected AbstractResourceManagerHandler(GatewayRetriever<? extends T> leaderRetriever, Time timeout, Map<String,String> responseHeaders, MessageHeaders<R,P,M> messageHeaders, GatewayRetriever<ResourceManagerGateway> resourceManagerGatewayRetriever)
protected CompletableFuture<P> handleRequest(@Nonnull HandlerRequest<R> request, @Nonnull T 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<T extends RestfulGateway,R extends RequestBody,P extends ResponseBody,M extends MessageParameters>
request
- request that should be handledgateway
- leader gatewayRestHandlerException
- if the handling failedprotected abstract CompletableFuture<P> handleRequest(@Nonnull HandlerRequest<R> request, @Nonnull ResourceManagerGateway gateway) throws RestHandlerException
RestHandlerException
public static ResourceManagerGateway getResourceManagerGateway(GatewayRetriever<ResourceManagerGateway> resourceManagerGatewayRetriever) throws RestHandlerException
RestHandlerException
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.