如何一致地阻止Flux缓冲写入?

时间:2017-03-21 04:16:13

标签: project-reactor

我有一个事件流作为输入,想要对它们进行一系列转换,然后将它们缓冲到List中,最后在另一个系统中执行批量写入。一旦输入流被耗尽,我想手动停止这个需要将剩余缓冲区刷新为写入的过程。什么是让它始终如一地工作的最佳方式?

示例:

Flux.from(<source>)
    .map(<some transform>)
    .buffer(4096)
    .subscribe(<batched writer that takes a List>)

有了上述内容,如果我取消批量编写的订阅,我将丢失缓冲区中待处理的内容。有什么方法可以“完成”原始源,从而导致整个管道中的刷新/消耗,以确保没有事件丢失?

0 个答案:

没有答案