Project Reactor logo

Project Reactor

Library for building non-blocking applications on JVM
122
71
+ 1
0

What is Project Reactor?

It is a fourth-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification. It is a fully non-blocking foundation with efficient demand management. It directly interacts with Java functional API, Completable Future, Stream and Duration.
Project Reactor is a tool in the Java Tools category of a tech stack.

Who uses Project Reactor?

Companies
8 companies reportedly use Project Reactor in their tech stacks, including Backend, Edgelab, and immmr.

Developers
50 developers on StackShare have stated that they use Project Reactor.

Project Reactor Integrations

Decisions about Project Reactor

Here are some stack decisions, common use cases and reviews by companies and developers who chose Project Reactor in their tech stack.

I am working on a project to read data (millions of data) from JMS queue, process the data, and push it to another queue. I am new to Java world, and I have been reading about Spring, Project Reactor, ReactiveRx, etc., for the last couple of days. I am looking for a framework that is easy to use, has less ramp-up time, thread-safety, non-blocking I/O, and less latency. Based on my reading, I am leaning towards ProjectReactor since it has integration with Spring Boot, and it directly interacts with Java functional API, Completable Future, Stream, and Duration. Also, later on, I may have to extend this to read from a different source, so the code should be extensible.

I would like to get thoughts/advice on this.

See more

Project Reactor's Features

  • Fully non-blocking and provides efficient demand management. It directly interacts with Java's functional API, CompletableFuture, Stream, and Duration
  • Efficient Message Passing
  • Well-suited for a microservices architecture, it offers backpressure-ready network engines for HTTP (including Websockets), TCP, and UDP

Project Reactor Alternatives & Comparisons

What are some alternatives to Project Reactor?
RxJava
A library for composing asynchronous and event-based programs by using observable sequences for the Java VM.
Akka
Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.
Spring
A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.
Java 8
It is a revolutionary release of the world’s no 1 development platform. It includes a huge upgrade to the Java programming model and a coordinated evolution of the JVM, Java language, and libraries. Java 8 includes features for productivity, ease of use, improved polyglot programming, security and improved performance.
guava
The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
See all alternatives

Project Reactor's Followers
71 developers follow Project Reactor to keep up with related blogs and decisions.