Проблема с CompletableFuture и ForkPool - PullRequest
0 голосов
/ 22 апреля 2020

Добрый день. У меня есть приложение, которое отправляет электронную почту. Я использую CompletableFuture и метод runAsyn с ForkPool, так как метод send возвращает void.

CompletableFuture<Void> future = CompletableFuture.runAsync(new Runnable() {
@Override
public void run() {
    mailSender.send(message);
    log.info("End post!");
}
});

try {
   future.get(10, TimeUnit.SECONDS);
} catch (TimeoutException ex) {
   log.info("GET TIMEOUT FROM POST SERVICE!");
} catch (InterruptedException | ExecutionException e) {
   e.printStackTrace();
}

Сработала неделя до возвращения «ПОЛУЧИТЕ ВРЕМЯ ОТ ПОСТ-СЕРВИСА!» Хорошо, я добавил ExecutorService и перенес его в метод runAsyn. Сейчас все нормально, но в логах я вижу запись [pool-507-thread-1]: End post! и номер до 508, 509, 510. Почему он увеличивается? Это критично?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...