我有一个简单的流,有一个源,两个流和一个接收器。这两个流程都有一个带有背压策略的缓冲区。
buffer(bufferSize, OverflowStrategy.backpressure))
该流看起来像:
source ~> flow1(buffer) ~> flow2(buffer) ~> sink
现在,我试图添加一个kill开关来安全地关闭流。
似乎KillSwitch需要作为流程的一部分注入:
viaMat(KillSwitches.single)(Keep.right)
我有三个问题:
当我触发kill开关时,是否会刷新缓冲的元素并成功到达接收器?如果没有,我该如何确定?
我应该将kill开关的哪一部分插入?是吗 总是在源头之后?杀戮开关的位置如何影响 流完成?
Akka documentation并没有真正解释KillSwitch的行为......