Package io.servicetalk.concurrent
Interface GracefulAutoCloseable
-
- All Superinterfaces:
java.lang.AutoCloseable
- All Known Subinterfaces:
BlockingGrpcClient<Client>,BlockingGrpcService,BlockingHttpClient,BlockingHttpConnection,BlockingHttpRequester,BlockingHttpService,BlockingStreamingHttpClient,BlockingStreamingHttpConnection,BlockingStreamingHttpRequester,BlockingStreamingHttpService,CompositeCloseable,GrpcClient<BlockingClient>,GrpcRoutes.BlockingRequestStreamingRoute<Req,Resp>,GrpcRoutes.BlockingResponseStreamingRoute<Req,Resp>,GrpcRoutes.BlockingRoute<Req,Resp>,GrpcRoutes.BlockingStreamingRoute<Req,Resp>,HttpClient,HttpConnection,ReservedBlockingHttpConnection,ReservedBlockingStreamingHttpConnection,ReservedHttpConnection,ReservedStreamingHttpConnection,ServerContext,StreamingDeserializer<T>,StreamingHttpClient,StreamingHttpConnection
- All Known Implementing Classes:
NettyServerContext
public interface GracefulAutoCloseable extends java.lang.AutoCloseableAn extension ofAutoCloseableto add graceful closure semantics.
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default voidcloseGracefully()Used to close/shutdown a resource, similar toAutoCloseable.close(), but attempts to cleanup state before abruptly closing.
-
-
-
Method Detail
-
closeGracefully
default void closeGracefully() throws java.lang.ExceptionUsed to close/shutdown a resource, similar toAutoCloseable.close(), but attempts to cleanup state before abruptly closing. This provides a hint that implementations can use to stop accepting new work and finish in flight work. This method is implemented on a "best effort" basis and may be equivalent toAutoCloseable.close().Note: Implementations may or may not apply a timeout for this operation to complete, if a caller does not want to wait indefinitely, and are unsure if the implementation applies a timeout, it is advisable to apply a timeout and force a call to
AutoCloseable.close().- Throws:
java.lang.Exception- if graceful closure failed.
-
-