В моем классе есть следующие поля:
private ExecutorService executorService = Executors.newFixedThreadPool(10);
private TimeLimiterConfig timeLimiterConfig = TimeLimiterConfig.custom()
.cancelRunningFuture(true)
.timeoutDuration(Duration.ofSeconds(2))
.build();
Я вызываю свою внешнюю службу следующим образом:
TimeLimiter.of(timeLimiterConfig).executeFutureSupplier(()-> CompletableFuture.supplyAsync(() -> demoGateway.service(param) ,executorService));
Если demoGateway.service тратит больше времени, чем 2 с, Timelimiter выдаст исключение TimeoutException, мои вопросы:
В чем разница между использованием значений true или false в этом случае ( cancelRunningFuture)