Java Spring TaskExecutor не запускается сразу после вызова метода taskExecutor.execute () - PullRequest
0 голосов
/ 25 июня 2019

Возникла проблема при использовании TaskExecutor в приложении, работающем в среде AWS Worker.Я использую пул потоков с размером ядра 15. Задача TaskExecutor - это вызов веб-службы REST, который обычно занимает от 1 до 3 секунд.Если количество транзакций меньше, задача внутри taskExecutor запускается быстро.Но если количество транзакций больше (менее 15), запуск задачи занимает 200 миллисекунд или более.

Не могли бы вы помочь получить какие-либо идеи, чтобы выяснить задержку запуска задачи?. (в основном я пытаюсь начать выполнение вызова службы покоя как можно раньше)

@Bean
public TaskExecutor taskExecutor() {
    ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    executor.setCorePoolSize(15);
    executor.setMaxPoolSize(20);
    executor.initialize();
    return executor;
}


taskExecutor.execute(() -> {

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity<String> httpEntity = new HttpEntity<String>(jsonString, headers);
        String result = restTemplate.postForObject("URL", httpEntity , 

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