先人一步
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
, combineLatest
onBackpressureDrop
, 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
安全地建立 Mono
Duration
提供合理的時段支援一些 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
操作設計-- 借鑑 Reactive4Java
, RxJava
和 Reactor
多年經驗 -- 高效,真正高效,透過操作融合進一步提升效率 -- 來自 Reactive Streams Commons 的更多效能基準測試
Mono
釋出-訂閱:MonoProcessor<T>
更多詳情請參閱 問題跟蹤器。
透過本次釋出,我們奠定了一個基礎,我們認為它對庫開發者和應用開發者都將非常有用。我們已準備好收集更多反饋,而我們的下一站將是 Reactor IPC:Reactor Aeron 和 Reactor Netty。這兩個 Reactor IPC 模組的宏偉計劃已經醞釀數月,旨在幫助您跨越網路邊界並考慮背壓!其兩個鼓舞人心的特質與 Reactor Core 相同:專注於 API 和效率,無需額外的儀式或學術背景。
同時,我們正在加倍努力創造各種入門體驗,期待更多的部落格、指南以及與 Spring Boot 團隊的緊密合作,以便讓您輕鬆地觸手可及這份卓越。