有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java skipUntil和具有并发1的flatMap挂起在Reactor中

我在Reactor(v.3.4.2)中经历了一个奇怪的行为,当使用skipUntilflatMap(fn, concurrency)操作符时concurrency=1。管道悬空

为了证明我的意思,这里有一个简单的例子,正如我所期望的:

Flux.range(1, 5)
    .skipUntil(v -> v > 1)
    .flatMap(v -> Mono.just(v))
    .doOnNext(System.out::println)
    .blockLast();

它将2345打印到单独的行中。但是,如果我向flatMap运算符添加一个等于1的并发参数,那么执行将挂起:

Flux.range(1, 5)
    .skipUntil(v -> v > 1)
    .flatMap(v -> Mono.just(v), 1)
    .doOnNext(System.out::println)
    .blockLast();

我不知道我是否遗漏了什么,或者skipUntil有一些错误行为,在跳过第一项后,它不会从上游请求下一项。第二个例子有效吗


共 (0) 个答案