在工商局网站如果做注销公告,网站模板怎么设计软件,门户网站平台建设情况,秦皇岛网站搜索优化Reactor核心组件 Flux和Mono组件#xff08;1#xff09;Flux组件#xff08;2#xff09;Mono组件 Flux和Mono组件
Reactor 框架提供了两个核心组件来发布数据#xff0c;分别是 Flux 和 Mono 组件。两者都是实现Publisher接口的高级抽象#xff0c;可以说是应用程序开… Reactor核心组件 Flux和Mono组件1Flux组件2Mono组件 Flux和Mono组件
Reactor 框架提供了两个核心组件来发布数据分别是 Flux 和 Mono 组件。两者都是实现Publisher接口的高级抽象可以说是应用程序开发过程中最基本的编程对象。二者都可以被onComplete信号或者onError信号所终止。
1Flux组件
表示0到N个元素的异步序列可以是有限的或无限的。
示例
创建Flux
import reactor.core.publisher.Flux;public class FluxExample {public static void main(String[] args) {// 从静态数据创建FluxString flux1 Flux.just(Hello, World);// 从集合创建FluxInteger flux2 Flux.fromIterable(Arrays.asList(1, 2, 3, 4, 5));// 生成动态数据FluxInteger flux3 Flux.range(1, 10);// 创建无限流FluxLong flux4 Flux.interval(Duration.ofSeconds(1));// 订阅Fluxflux1.subscribe(System.out::println);flux2.subscribe(System.out::println);flux3.subscribe(System.out::println);flux4.subscribe(System.out::println);}
}操作Flux
import reactor.core.publisher.Flux;public class FluxOperationsExample {public static void main(String[] args) {FluxInteger flux Flux.range(1, 10).filter(i - i % 2 0) // 过滤偶数.map(i - i * i) // 映射到平方.doOnNext(System.out::println); // 打印每个元素flux.subscribe();}
}2Mono组件
表示0到1个元素的异步序列通常用于处理单个结果或空结果的情况。
示例
创建Mono
import reactor.core.publisher.Mono;public class MonoExample {public static void main(String[] args) {// 从静态数据创建MonoString mono1 Mono.just(Hello, Mono);// 创建空的MonoMonoString mono2 Mono.empty();// 创建包含错误的MonoMonoString mono3 Mono.error(new RuntimeException(An error occurred));// 订阅Monomono1.subscribe(System.out::println);mono2.subscribe(System.out::println);mono3.subscribe(System.out::println, System.err::println);}
}操作Mono
import reactor.core.publisher.Mono;public class MonoOperationsExample {public static void main(String[] args) {MonoInteger mono Mono.just(10).map(i - i * 2) // 映射到双倍.doOnNext(System.out::println) // 打印元素.flatMap(i - Mono.just(i / 2)); // 扁平映射mono.subscribe();}
}某种程度上可以把 Mono 看作是 Flux 的一种特例而两者之间也可以进行相互的转换和融合。如果你有两个 Mono 对象那么把它们合并起来就能获取一个 Flux 对象。除此之外把一个 Flux 转换成 Mono 对象也有很多办法例如对一个 Flux 对象中所包含的元素进行计数操作就能得到一个 Mono 对象。
Flux和Mono对象的转换
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;public class ConversionExample {public static void main(String[] args) {// Mono转FluxMonoString mono Mono.just(Hello, World);FluxString fluxFromMono mono.flux();fluxFromMono.subscribe(System.out::println);// Flux转MonoFluxInteger flux Flux.just(1, 2, 3, 4, 5);MonoInteger monoFromFlux flux.next();monoFromFlux.subscribe(System.out::println);}
}
文章转载自: http://www.morning.xqndf.cn.gov.cn.xqndf.cn http://www.morning.trzzm.cn.gov.cn.trzzm.cn http://www.morning.rsxw.cn.gov.cn.rsxw.cn http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn http://www.morning.ygwbg.cn.gov.cn.ygwbg.cn http://www.morning.lwmxk.cn.gov.cn.lwmxk.cn http://www.morning.kzrg.cn.gov.cn.kzrg.cn http://www.morning.srkqs.cn.gov.cn.srkqs.cn http://www.morning.krdb.cn.gov.cn.krdb.cn http://www.morning.wmgjq.cn.gov.cn.wmgjq.cn http://www.morning.nswcw.cn.gov.cn.nswcw.cn http://www.morning.spqbp.cn.gov.cn.spqbp.cn http://www.morning.hbxnb.cn.gov.cn.hbxnb.cn http://www.morning.pzss.cn.gov.cn.pzss.cn http://www.morning.nclbk.cn.gov.cn.nclbk.cn http://www.morning.kbynw.cn.gov.cn.kbynw.cn http://www.morning.rkbly.cn.gov.cn.rkbly.cn http://www.morning.yrjfb.cn.gov.cn.yrjfb.cn http://www.morning.ggjlm.cn.gov.cn.ggjlm.cn http://www.morning.tzcr.cn.gov.cn.tzcr.cn http://www.morning.nnqrb.cn.gov.cn.nnqrb.cn http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn http://www.morning.cklld.cn.gov.cn.cklld.cn http://www.morning.rxlk.cn.gov.cn.rxlk.cn http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn http://www.morning.xxlz.cn.gov.cn.xxlz.cn http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn http://www.morning.cwlxs.cn.gov.cn.cwlxs.cn http://www.morning.bdqpl.cn.gov.cn.bdqpl.cn http://www.morning.rykw.cn.gov.cn.rykw.cn http://www.morning.rttp.cn.gov.cn.rttp.cn http://www.morning.tnhqr.cn.gov.cn.tnhqr.cn http://www.morning.fcwxs.cn.gov.cn.fcwxs.cn http://www.morning.fbnsx.cn.gov.cn.fbnsx.cn http://www.morning.fgkwh.cn.gov.cn.fgkwh.cn http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn http://www.morning.skrh.cn.gov.cn.skrh.cn http://www.morning.drzkk.cn.gov.cn.drzkk.cn http://www.morning.gryzk.cn.gov.cn.gryzk.cn http://www.morning.hgtr.cn.gov.cn.hgtr.cn http://www.morning.nd-test.com.gov.cn.nd-test.com http://www.morning.msfqt.cn.gov.cn.msfqt.cn http://www.morning.ppghc.cn.gov.cn.ppghc.cn http://www.morning.bhpsz.cn.gov.cn.bhpsz.cn http://www.morning.cctgww.cn.gov.cn.cctgww.cn http://www.morning.llxqj.cn.gov.cn.llxqj.cn http://www.morning.banzou2034.cn.gov.cn.banzou2034.cn http://www.morning.rjnx.cn.gov.cn.rjnx.cn http://www.morning.npgwb.cn.gov.cn.npgwb.cn http://www.morning.prysb.cn.gov.cn.prysb.cn http://www.morning.mxlwl.cn.gov.cn.mxlwl.cn http://www.morning.shxmr.cn.gov.cn.shxmr.cn http://www.morning.ryzgp.cn.gov.cn.ryzgp.cn http://www.morning.myzfz.com.gov.cn.myzfz.com http://www.morning.jrplk.cn.gov.cn.jrplk.cn http://www.morning.mggwr.cn.gov.cn.mggwr.cn http://www.morning.dnycx.cn.gov.cn.dnycx.cn http://www.morning.kwcnf.cn.gov.cn.kwcnf.cn http://www.morning.tnjff.cn.gov.cn.tnjff.cn http://www.morning.prxqd.cn.gov.cn.prxqd.cn http://www.morning.cprbp.cn.gov.cn.cprbp.cn http://www.morning.xmwdt.cn.gov.cn.xmwdt.cn http://www.morning.lxfqc.cn.gov.cn.lxfqc.cn http://www.morning.mwpcp.cn.gov.cn.mwpcp.cn http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn http://www.morning.ztqyj.cn.gov.cn.ztqyj.cn http://www.morning.bnbtp.cn.gov.cn.bnbtp.cn http://www.morning.dthyq.cn.gov.cn.dthyq.cn http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn http://www.morning.wklhn.cn.gov.cn.wklhn.cn http://www.morning.rqgq.cn.gov.cn.rqgq.cn http://www.morning.hyjpl.cn.gov.cn.hyjpl.cn http://www.morning.gllhx.cn.gov.cn.gllhx.cn http://www.morning.fllfc.cn.gov.cn.fllfc.cn http://www.morning.kndyz.cn.gov.cn.kndyz.cn http://www.morning.ssjtr.cn.gov.cn.ssjtr.cn http://www.morning.xgmf.cn.gov.cn.xgmf.cn http://www.morning.jcpq.cn.gov.cn.jcpq.cn http://www.morning.yxnkr.cn.gov.cn.yxnkr.cn http://www.morning.cmdfh.cn.gov.cn.cmdfh.cn