Akka Streams: обмен потоками с классами, которые не используют потоки - PullRequest
0 голосов
/ 14 октября 2019

Основной цикл выполнения моей программы использует Akka Streams Flow.

Этот поток имеет вызов .via(subFlow). subFlow - это еще один объект потока (он выполняет групповую операцию, которая объединяет несколько сообщений в течение 5-секундного периода, сохраняет данные в пакете, а затем разгруппирует их, чтобы на выходе было одно сообщение).

Моя проблема в том, что у меня есть отдельный класс, который должен иметь ту же логику groupBy для сохранения данных. Тем не менее, этот класс не использует потоки akka никоим образом, и реализация знает только об одном сообщении за раз. Я хотел бы использовать метод subFlow для этой логики, но я не могу просто сделать Source.single(message).via(subFlow), потому что не было бы никакой группировки, потому что есть только одно сообщение. Мне нужен какой-то способ подключиться к существующему экземпляру subFlow (чтобы к нему могли обращаться несколько экземпляров моего класса), отправить сообщение на subFlow и затем вернуть индивидуальный результат этого сообщения.

Есть ли относительно простой способ сделать это?

...