Reactor学习--Flux接口简介
上一篇文章中简单介绍了Reactor中的核心接口,现在来看其中很复杂的一个实现Flux。
Flux方法分类
打开Flux的Java Doc,可以看里面的方法居然多达362个(如果用我司的傻逼的代码扫描工具进行扫描,这个类绝对是质量红线)。这些方法看着多,但是如果我们对它们的功能进行分类,实际上也还在常人接收的范围之内。
方法大致分为
- 静态工厂方法
- 异常处理方法
- 线程方法
- 调测方法
- Operator方法
- subscribe方法
每个大类下又可以继续分出更细的分类。
Publisher最基本特点
无论是Flux或者Mono还是其他的Publisher实现,都有一个相同的基本特点,就是在subscribe方法调用之前,绝对不会进行运算。
最简单的Flux例子
最简单的Flux可以使用静态工厂方法just(T ... elements)构造出来,然后使用subscribe(Consumer<? super T> consumer)让流启动,并使用consumer进行消费。如下:
public class FluxSubscriber {
public static void main(String[] args) {
Flux<String> stringFlow = Flux.just("one", "two", "three");
//subscribe with consumer
System.out.println("example for subscribe with consumer");
stringFlow.subscribe(System.out::println);
}
}
运行以上的代码,程序会异常输出one、tow、three。