Class AbstractResourceManagerHandler<T extends RestfulGateway,R extends RequestBody,P extends ResponseBody,M extends MessageParameters>
- java.lang.Object
-
- org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
-
- org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
-
- org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler<RoutedRequest>
-
- org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler<T>
-
- org.apache.flink.runtime.rest.handler.AbstractHandler<T,R,M>
-
- org.apache.flink.runtime.rest.handler.AbstractRestHandler<T,R,P,M>
-
- org.apache.flink.runtime.rest.handler.resourcemanager.AbstractResourceManagerHandler<T,R,P,M>
-
- Type Parameters:
T
- type of theRestfulGateway
R
- request typeP
- response typeM
- message parameters type
- All Implemented Interfaces:
AutoCloseable
,org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler
,org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandler
,AutoCloseableAsync
- Direct Known Subclasses:
ClusterDataSetListHandler
,TaskManagerDetailsHandler
,TaskManagerLogListHandler
,TaskManagerProfilingHandler
,TaskManagerProfilingListHandler
,TaskManagersHandler
,TaskManagerThreadDumpHandler
public abstract class AbstractResourceManagerHandler<T extends RestfulGateway,R extends RequestBody,P extends ResponseBody,M extends MessageParameters> extends AbstractRestHandler<T,R,P,M>
Base class for REST handlers which need access to theResourceManager
.
-
-
Field Summary
-
Fields inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
log, MAPPER
-
Fields inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
leaderRetriever, logger, responseHeaders, timeout
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractResourceManagerHandler(GatewayRetriever<? extends T> leaderRetriever, Duration timeout, Map<String,String> responseHeaders, MessageHeaders<R,P,M> messageHeaders, GatewayRetriever<ResourceManagerGateway> resourceManagerGatewayRetriever)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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 aCompletableFuture
containing a the response.-
Methods inherited from class org.apache.flink.runtime.rest.handler.AbstractRestHandler
getMessageHeaders, respondToRequest
-
Methods inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
closeAsync, closeHandlerAsync, respondAsLeader
-
Methods inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
channelRead0, getTimeout
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler
acceptInboundMessage, channelRead
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.util.AutoCloseableAsync
close
-
-
-
-
Constructor Detail
-
AbstractResourceManagerHandler
protected AbstractResourceManagerHandler(GatewayRetriever<? extends T> leaderRetriever, Duration timeout, Map<String,String> responseHeaders, MessageHeaders<R,P,M> messageHeaders, GatewayRetriever<ResourceManagerGateway> resourceManagerGatewayRetriever)
-
-
Method Detail
-
handleRequest
protected CompletableFuture<P> handleRequest(@Nonnull HandlerRequest<R> request, @Nonnull T gateway) throws RestHandlerException
Description copied from class:AbstractRestHandler
This method is called for every incoming request and returns aCompletableFuture
containing a the response.Implementations may decide whether to throw
RestHandlerException
s or fail the returnedCompletableFuture
with aRestHandlerException
.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.- Specified by:
handleRequest
in classAbstractRestHandler<T extends RestfulGateway,R extends RequestBody,P extends ResponseBody,M extends MessageParameters>
- Parameters:
request
- request that should be handledgateway
- leader gateway- Returns:
- future containing a handler response
- Throws:
RestHandlerException
- if the handling failed
-
handleRequest
protected abstract CompletableFuture<P> handleRequest(@Nonnull HandlerRequest<R> request, @Nonnull ResourceManagerGateway gateway) throws RestHandlerException
- Throws:
RestHandlerException
-
getResourceManagerGateway
public static ResourceManagerGateway getResourceManagerGateway(GatewayRetriever<ResourceManagerGateway> resourceManagerGatewayRetriever) throws RestHandlerException
- Throws:
RestHandlerException
-
-