【问题标题】:Akka-streams TCP - consume with different SinksAkka-streams TCP - 使用不同的接收器消费
【发布时间】:2021-05-29 11:30:25
【问题描述】:

如何将tcp.bind()连接的Sink切换到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 实现这一目标?

【问题讨论】:

    标签: java akka akka-stream akka-tcp


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 2016-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 2016-07-14
      相关资源
      最近更新 更多