0

如何将连接的 Sink 切换tcp.bind()到 TCP Source?例如,假设我有:

   Sink<ByteString, CompletionStage<Void>> tmpFileSink = FileIO
            .toPath(destination)
            .mapMaterializedValue(this::noticeCompletion);

    tcp
       .bind(host, port)
       .to(Sink.foreach(incomingConnection -> wire(incomingConnection, tmpFileSink)))
       .run(materializer);

目前,它将传入的字节保存到destination文件中。我想动态更改目标文件。如何使用 akka-streams 实现这一目标?

4

1 回答 1

0

在这里查看PartitionHub文档。这允许您动态地将元素切换到不同的目的地。

在您的问题中,您没有具体说明您需要如何准确地决定每个元素的去向。如果PartitionHub不能削减它,您可能需要降低级别并实施自定义处理阶段。你可以在这里看到如何做到这一点

于 2021-05-30T10:55:19.700 回答