Отправка запроса без ожидания ответа

Всем привет.

Я пишу два спринговских сервиса, которые делают всякие вычисления. Один из них должен отправлять только запросы ко второму сервису не дожидаясь ответа:

JavaВыделить код

1
2
3
4
5
6
7
8
9
10
11
12
13
14

...
for (String url: oneService.getUrlList()) {
    try {
       sendRequests(restTemplate, url);
     } catch (InterruptedException e) {
       e.printStackTrace();
     }
}
...
 
@Async
void sendRequests(RestTemplate restTemplate, String url) throws InterruptedException {
   restTemplate.postForLocation("http://second-servive/calculation/" + url, String.class);
}

В контроллере второго сервиса для получения запроса прописано следующее:

JavaВыделить код

1
2
3
4

@RequestMapping(value = "calculation/{url}", method = RequestMethod.POST)
public void getSCCalculation(@PathVariable String url) {
     secondService.getCalculation(url);
}

Также я создал несколько экземпляров второго сервиса с помощью сервера эврики, чтобы сделать вычисления быстрее. Но даже с аннотацией @Async и экземплярами второго сервиса вычисления занимают столько же времени, если бы @Async и экземпляров не было. Первый сервис все еще ждет, когда второй сервис закончит работу. Я пытался отправлять запросы в разных потоках, но результат тот же.

Как-нибудь можно не ожидать ответа от второго сервиса и продолжать отсылать запросы к экземплярам сервиса, чтобы каждый из них проводил вычисления?