При использовании потоков Akka, есть ли способ закрыть/закрыть поток, который больше не требуется для очистки ресурсов?Закрытие потока Akka для очистки ресурсов
EDIT: Когда источник состоит из бесконечного потока, он никогда не может быть завершен, и я хотел бы остановить его до завершенного источника.
Пример использования:
Source.from(publisher)
.map((p) -> p)
.to(Sink.ignore())
.run(materializer)
Есть ли способ остановки потока?
Поток должен прекращаться естественным образом, когда восходящий источник больше не имеет данных для удовлетворения потребностей в нисходящем потоке. Поэтому, когда издатель сигнализирует о завершении вниз, этот материализованный экземпляр потока должен остановиться. Или, если у вас есть длинный поток, вы можете рассмотреть возможность использования отдельного материализатора только для него, а затем вызвать 'shutdown()' на материализаторе – cmbaxter
Поскольку Source является издателем, и он может быть бесконечным потоком (в моем случае это поток из Кафки), он никогда не будет завершен. – aseychell
Через «Издатель» вы можете получить доступ к «Подписка» из потока «Поток», чтобы его можно было отменить? Что такое класс impl для вашего 'Publisher'? – cmbaxter