Возникла проблема при использовании 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);
}});