Package io.vrap.rmf.base.client.http
Class QueueMiddleware
java.lang.Object
io.vrap.rmf.base.client.http.QueueMiddleware
- All Implemented Interfaces:
Middleware,QueueRequestMiddleware,AutoCloseable
Implementation of a Queue to limit the number of concurrent requests handled by the client
-
Constructor Summary
ConstructorsConstructorDescriptionQueueMiddleware(int maxConnection, Duration maxWaitTime) QueueMiddleware(dev.failsafe.spi.Scheduler scheduler, int maxConnections, Duration maxWaitTime) QueueMiddleware(ExecutorService executorService, int maxConnection, Duration maxWaitTime) QueueMiddleware(ScheduledExecutorService executorService, int maxConnection, Duration maxWaitTime) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()CompletableFuture<ApiHttpResponse<byte[]>>invoke(ApiHttpRequest request, Function<ApiHttpRequest, CompletableFuture<ApiHttpResponse<byte[]>>> next)
-
Constructor Details
-
QueueMiddleware
-
QueueMiddleware
public QueueMiddleware(ScheduledExecutorService executorService, int maxConnection, Duration maxWaitTime) -
QueueMiddleware
-
QueueMiddleware
public QueueMiddleware(dev.failsafe.spi.Scheduler scheduler, int maxConnections, Duration maxWaitTime)
-
-
Method Details
-
invoke
public CompletableFuture<ApiHttpResponse<byte[]>> invoke(ApiHttpRequest request, Function<ApiHttpRequest, CompletableFuture<ApiHttpResponse<byte[]>>> next) - Specified by:
invokein interfaceMiddleware
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-