领先一步
VMware 提供培训和认证,助您加速进步。
了解更多[更新] 继我们介绍 Reactor 2.5 之后,我们将版本调整为 3.0,以更好地体现所进行的重大重新设计工作。
以前的 reactor-stream 模块已合并到 Reactor Core 3.0 中。Flux 和 Mono 分别代表 0..N 和 0..1 序列类型,现在涵盖了以下类别的各种操作:
publish, publishNext, cache, multicast...buffer, reduce, scan, window, sample...filter, exists, single...timeout, take, takeUntil, skip, skipUntil...withLatestFrom, combineLatestonBackpressureDrop, onBackpressureLatest...尽管这些功能已经存在,但我们现在使用的是超高效的 Reactive Streams Commons 运算符实现。

所有 Reactor 3.0 项目都已升级到 Java 8。虽然 JVM 市场正在 Java 8 上标准化,但我们认为没有理由进一步延迟我们的过渡。让我们列举一下好处:
reactor.fn 中所有“回溯”的函数回调都已替换为 java.util.function。因此,Reactor 提供了标准的交互契约和具有竞争力的表面 API。Flux 转换为 java.util.stream.Stream 或从其转换Mono 转换为 CompletableFuture 或从其转换Optional 安全地创建 MonoDuration 提供合理的时段支持一些 Java 8 提取器和生成器正在运行中
java.util.stream.Stream<String> stream =
Mono.fromFuture(someCompletableFuture)
.timeout(Duration.ofSeconds(30))
.log("hello")
.flatMap( pojo -> Flux.just(pojo.getId(), pojo.getName())
.toStream();
Flux.fromStream(stream)
.delayMillis(1000L)
.subscribe(System.out::println);
我们设想稍后可以为 Android 兼容性进行回溯,但目前我们的重点是 Java 8 应用程序及更高版本。
Flux 和 Mono 操作设计基于 Reactive Streams Commons 的协作努力-- 建立在多年的经验之上,来自 Reactive4Java、RxJava 和 Reactor -- 高效,非常高效,通过操作融合进一步提高效率 -- 来自 Reactive Streams Commons 的更多性能基准
Mono 发布-订阅:MonoProcessor<T>有关更多详细信息,请参阅 问题追踪器。
通过此版本,我们建立了一个基础,我们认为它将对库和应用程序开发人员都很有用。我们已准备好收集更多反馈,而我们的下一站将是 Reactor IPC:Reactor Aeron 和 Reactor Netty。这两个 Reactor IPC 模块已经酝酿了几个月的伟大计划,旨在帮助您跨越网络边界,并考虑到背压!这两个鼓舞人心的特质与 Reactor Core 中的相同:关注 API 和效率,无需额外的繁文缛节或学术背景。
与此同时,我们正在加倍努力创建各种入门体验,期待一些博客、指南以及与 Spring Boot 团队的密切合作,让您轻松掌握这些强大的功能。