Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn more[Update] Following our Reactor 2.5 introduction, we shifted the version to 3.0 to reflect better the major redesign effort overtaken.
The former reactor-stream module has been merged into Reactor Core 3.0. Flux and Mono respectively representing 0..N and 0..1 sequence types now cover a solid range of operations for the following categories:
publish
, publishNext
, cache
, multicast
...buffer
, reduce
, scan
, window
, sample
...filter
, exists
, single
...timeout
, take
, takeUntil
, skip
, skipUntil
...withLatestFrom
, combineLatest
onBackpressureDrop
, onBackpressureLatest
...While the capabilities existed, we are now using the hyper efficient Reactive Streams Commons operator implementations.
All Reactor 3.0 projects have been upgraded to Java 8. While the JVM market is getting standardized on Java 8, we see no reason to delay further our transition. Let's enumerate the benefits :
reactor.fn
have been replaced by java.util.function
. As a result Reactor offers a standard interactive contract and a competitive surface API.Flux
to/from java.util.stream.Stream
Mono
to/from CompletableFuture
Mono
from Optional
Duration
Some Java 8 extractors and generators in action:
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);
We could envision a backport for Android compatibility later, still our focus for now is on Java 8 applications and onward.
Flux
and Mono
operational design based on the collaboration effort Reactive Streams Commons-- Build on years of experience from Reactive4Java
, RxJava
and Reactor
-- Efficient, really efficient, supports even further efficiency with operation fusion
-- More Performance benchmarks from Reactive Streams Commons
Mono
publish-subscribe : MonoProcessor<T>
Refer to the issues tracker for more details.
With this release we have a foundation we think will be useful for library and application developers alike. We are ready to collect more feedbacks while our next stop will be on Reactor IPC : Reactor Aeron and Reactor Netty. There are great plans stirring for months now for these two Reactor IPC modules to help you cross network boundaries with backpressure factored-in ! The two inspiring traits are the same as in Reactor Core : Focus on API and Efficiency, no extra ceremony or academic background required.
In parallel we are doubling our effort on creating various starting experiences, expect some blogging, guides and close collaboration with the Spring Boot team to get this awesomeness right at your fingertip with little fuss.