Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как асинхронно отправлять HTTPS запросы в Spring boot

Асодбек Фазлидин Знаток (397), на голосовании 1 год назад
Добрый вечер! с столкнулся с такой проблемой что мне нужно в App потянуть асинхронность, чтобы убрать задержку и увеличить пропускную способность. И так меня есть метод, который с помощью RestTemplate отправляет get запрос в сторонний сервер и получает наименование компании в list и сохранять

     public void saveCompanyDetails() { 
CompletableFuture future = CompletableFuture.runAsync(() -> {
ResponseEntity> rateResponse =
restTemplate.exchange(iexApiHost + iexApiKey,
HttpMethod.GET, null, new ParameterizedTypeReference>() {});

List companyList = rateResponse.getBody();
if(!CollectionUtils.isEmpty(companyList)) {
companyRepository.saveAll(companyList);
}
}, fixedPool);
}
У меня не получается сделать так чтобы запросы выполнялись асинхронно. Может кто подскажет как здесь можно потянуть асинхронность ?
Голосование за лучший ответ
Зеленая бяка Просветленный (41309) 1 год назад
Еще можно использовать аннотацию @Async вот гайд посмотри https://www.baeldung.com/spring-async . Я в этих фтючах не сильно шарю, но думаю, что в твоем случае в конце метода надо добавить
 future.get() 
и должно заработать
Похожие вопросы