Spring WebFlux 响应式编程指南
1. 响应式编程基础
在响应式编程中,直到订阅发布者,数据才会开始流动。下面是一个简单的示例:
Flux<String> flux = Flux.just("Spring", "SpringBoot", "Reactor");
flux.log().subscribe();
运行这段代码,会记录底层回调方法的调用情况:
[main] INFO reactor.Flux.Array.1 - | onSubscribe([Synchronous Fuseable] FluxArray.ArraySubscription)
[main] INFO reactor.Flux.Array.1 - | request(unbounded)
[main] INFO reactor.Flux.Array.1 - | onNext(Spring)
[main] INFO reactor.Flux.Array.1 - | onNext(SpringBoot)
[main] INFO reactor.Flux.Array.1 - | onNext(Reactor)
[main] INFO reactor.Flux.Array.1 - | onComplete()
从日志中可以看出,订阅发布者时会发生以下情况:
- onSubscribe()
方法在订阅发布者( Flux
)时被调用。
- 调用 subscr