寻找优雅的反应堆热流方式

时间:2019-10-01 12:37:51

标签: java project-reactor

我有Reactor个热流,它使用反应性Redis来轮询Lettuce API

Flux
                    .generate(sink -> sink.next(0))
                    .flatMap(
                            r -> pollingConnection
                                    .reactive()
                                    .brpop(pollingTimeout, queue)
                    ...
                    .subscribe(subscription);

没有flatMap可以做到吗?有异步接收器吗?

1 个答案:

答案 0 :(得分:1)

对于常规的非阻塞式轮询,我想您最好使用Flux.interval而不是Flux.generate(与flatMap结合使用,将产生256个立即请求)

由于该API似乎基于brpop Publisher,因此,如果您要触发多个弹出窗口,则别无选择,只能使用flatMap