参考:
https://www.cnblogs.com/yjmyzz/p/reactor-tutorial-1.html
https://blog.csdn.net/qq_28089993/article/details/89461814
https://blog.csdn.net/weweeeeeeee/article/details/82885449
使用场景: 异步 消息文件的发射器 有push与pull两种模型。
push模型:所谓 Push 模型,即当 Producer 发出的消息到达后,服务端马上将这条消息投递给 Consumer
pull模型:而 Pull 则是服务端收到这条消息后什么也不做,只是等着 Consumer 主动到自己这里来读,即 Consumer 这里有一个“拉取”的动作
generate() 方法:同步产生方法
create() 方法:异步产生消息
filter() 方法:过滤消息
next() 方法:插入消息
subscribe() 方法:消费消息
map() 方法:转换映射类型
例子:
Flux.create(
(FluxSink<T> sink) -> {
//doSomething(k, sink);
sink.complete();
}
)
.subscribe(e -> {
System.out.println(e.toString());
});
特别的如果 create 后没有消费 Subscribe() 就不会执行create里面的内容。如果没有.subscribe() 则create里面的内容不会执行。
ints.subscribe(i -> System.out.println(i),
error -> System.err.println("Error " + error),
() -> {System.out.println("Done");})
error 错误状态时执行
()-> complete状态时执行