首页 > 解决方案 > 寻找优雅的生成Reactor热流的方式

问题描述

我有使用响应Reactor式轮询的热流:RedisLettuce API

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

有没有办法做到这一点flatMap?任何异步接收器?

标签: javaproject-reactor

解决方案


对于常规的非阻塞轮询,我想你最好使用Flux.interval而不是Flux.generate(结合到flatMap,将生成 256 个即时请求顺便说一句)

由于 API 似乎基于 a brpop Publisher,因此您别无选择,只能flatMap在要触发多个 pop 时使用。


推荐阅读