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

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

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


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

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

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

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

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

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