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 theRestfulGatewayR- 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,org.apache.flink.util.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 protectedAbstractResourceManagerHandler(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 ResourceManagerGatewaygetResourceManagerGateway(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 aCompletableFuturecontaining 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
-
-
-
-
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:AbstractRestHandlerThis method is called for every incoming request and returns aCompletableFuturecontaining a the response.Implementations may decide whether to throw
RestHandlerExceptions or fail the returnedCompletableFuturewith 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_ERRORwill be returned.- Specified by:
handleRequestin 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
-
-