Как вызвать несколько API одновременно (асинхронно) и собрать данные в одном объекте в Java - PullRequest
0 голосов
/ 26 января 2019

У меня есть требование построить один API, который будет вызывать 6 API асинхронных и собирать все данные в один объект.

После сбора всех данных он вызовет другие API для сохранения данных в базе данных.

Пожалуйста, дайте мне знать, какие рамки будут наиболее подходить для этого требования.

Большинство предпочитают, чтобы мы хотели это в Java.

Заранее спасибо.

1 Ответ

0 голосов
/ 26 января 2019

Я не уверен, что это то, что вы ищете, но если ваши 6 асинхронных вызовов могут быть преобразованы в классы, реализующие интерфейс Callable, вы можете создать список и передать его сервисной функции исполнителя.См. Ниже:

  1. создайте список и добавьте в него вызываемые задачи

List<Callable<String>> callableTasks = new ArrayList<>();

callableTasks.add(callableTask);

callableTasks.add(callableTask);

callableTasks.add(callableTask);

передать список в службу исполнителя.ExecutorService является экземпляром класса ExecutorService.

List<Future<String>> futures = executorService.invokeAll(callableTasks);

Объект futures хранит определенную информацию о потоке.Каждый из этих 6 вызовов API может быть сохранен в этом объекте фьючерсов.

для получения дополнительной информации, вы можете обратиться к этой статье https://www.baeldung.com/java-executor-service-tutorial

Удачи!

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