java skipUntil和具有并发1的flatMap挂起在Reactor中
我在Reactor(v.3.4.2)中经历了一个奇怪的行为,当使用skipUntil
和flatMap(fn, concurrency)
操作符时concurrency=1
。管道悬空
为了证明我的意思,这里有一个简单的例子,正如我所期望的:
Flux.range(1, 5)
.skipUntil(v -> v > 1)
.flatMap(v -> Mono.just(v))
.doOnNext(System.out::println)
.blockLast();
它将2
、3
、4
和5
打印到单独的行中。但是,如果我向flatMap
运算符添加一个等于1
的并发参数,那么执行将挂起:
Flux.range(1, 5)
.skipUntil(v -> v > 1)
.flatMap(v -> Mono.just(v), 1)
.doOnNext(System.out::println)
.blockLast();
我不知道我是否遗漏了什么,或者skipUntil
有一些错误行为,在跳过第一项后,它不会从上游请求下一项。第二个例子有效吗
共 (0) 个答案