Springboot использовать @async для выполнения задачи иногда появляются тайм-аут - PullRequest
0 голосов
/ 26 декабря 2018

Я пишу проект о пересылке HTTP-запроса с помощью платформы весенней загрузки.Иногда в нагрузочном тесте (около 100 запросов на параллелизм) появляется длительное время задержки, например, я отвечаю на HTTP-запрос в 0,01 с, но отправляю асинхронный запрос через 10 секунд.Я использую настройку Spring Boot по умолчанию, означает ли это, что Spring Boot поместит асинхронный метод в ThreadPoolTaskExecutor.class?Размер ядра по умолчанию равен 1, поэтому он будет заблокирован при нагрузочном тесте?

извините за мой плохой английский Любая помощь будет оценена по достоинству

@Override
@Async
public void rabbit(String jsonString, String path) {
    HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.add("Content-Type", "application/json");
    HttpEntity<String> requestEntity = new HttpEntity<>(jsonString, requestHeaders);
    RestTemplate template = new RestTemplate();
    ResponseEntity<String> postRespone = template.postForEntity(path, requestEntity, String.class);
    logger.info("PostApduScripts success!" + "\tResult:" + postRespone.getBody());
}

public class ThreadPoolTaskExecutor extends ExecutorConfigurationSupport       implements AsyncListenableTaskExecutor, SchedulingTaskExecutor {
private final Object poolSizeMonitor = new Object();
private int corePoolSize = 1;
private int maxPoolSize = 2147483647;
private int keepAliveSeconds = 60;
private int queueCapacity = 2147483647;
private boolean allowCoreThreadTimeOut = false;
private TaskDecorator taskDecorator;
private ThreadPoolExecutor threadPoolExecutor;

public ThreadPoolTaskExecutor() {
}

public void setCorePoolSize(int corePoolSize) {
    synchronized(this.poolSizeMonitor) {
        this.corePoolSize = corePoolSize;
        if (this.threadPoolExecutor != null) {
            this.threadPoolExecutor.setCorePoolSize(corePoolSize);
        }

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