Publisher
генерирует значение может быть классифицировано как ленивый и нетерпеливый, как Mono.just
и Flux.fromIterable
стремятся, а операции http ленивы, так как они генерируют значение только при вызове block
или subscirbe
. Но я случайно обнаружил, что на основе этого деления Flux.interval
не принадлежит ни:
@Test
public void interval() throws InterruptedException {
Flux<Long> delay = Flux.interval(Duration.ofSeconds(5)).log(); // t0
TimeUnit.SECONDS.sleep(2); // t0+2
Flux<Long> longFlux = Flux.just(0, 0, 0).zipWith(delay, (a, b) -> a + b).log(); // t0+2+5
StepVerifier.create(longFlux).expectNext(0l,1l,2l).verifyComplete();
}
Если оно стремится, то должно быть t0 + 5, если оно ленивое, оно должно ждать subscribe
или block
вызывается.