Продолжайте упорядочивать, объединяя несколько медленных источников в потоки akka.JAVA

Программисты JAVA общаются здесь
Гость
Продолжайте упорядочивать, объединяя несколько медленных источников в потоки akka.

Сообщение Гость »


Мне нужно объединить несколько медленных источников, но сохранить порядок. Если код выполняется дважды, порядок должен быть одинаковым.

Очень простое решение этой проблемы заключается в следующем:

Источник .from(разделы()) .flatMapConcat(раздел -> медленный источник(раздел)) Это работает, но медленный источник для второго раздела выполняется после первого. Я хочу запускать медленные источники параллельно, но объединять результаты в стабильном порядке.

Я пробовал так:

Источник .completionStage(Источник .from(разделы()) .map(раздел -> медленный источник(раздел).runWith(Sink.seq(), actorSystem)) .runWith(Sink.seq(), actorSystem)) .mapConcat(я -> я) .mapAsync(разделы, этап -> этап) .mapConcat(я -> я) Это работает, но мне нужно создать список для каждого раздела. Есть ли лучший способ реализовать это?

Вернуться в «JAVA»