awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
reactive-streams avatar

reactive-streams/reactive-streams-jvm

0
View on GitHub↗
4,875 stars·534 forks·Java·MIT-0·8 viewswww.reactive-streams.org↗

Reactive Streams Jvm

This project provides a formal specification and a set of standard Java interfaces for asynchronous stream processing. It defines a standardized protocol for passing sequences of elements between publishers and subscribers across different threads, centering on a reactive streams specification for the JVM.

The project focuses on interoperability by providing a common API that allows different asynchronous streaming libraries to work together. This is achieved through a standard set of interfaces and bridging mechanisms that translate between incompatible streaming specifications.

The specification covers a non-blocking backpressure protocol to regulate data flow and prevent system overload by requiring subscribers to signal demand. It also defines the lifecycle of streams, including subscription management, element processing, and signal-based termination for resource cleanup.

The project includes a framework for verifying stream behavior to validate processing logic against rules for backpressure and asynchronous events.

Features

  • Backpressure Management - Defines a standardized non-blocking backpressure protocol to regulate data flow and prevent system overload.
  • Interoperability Specifications - Provides the formal technical specifications and common interfaces that ensure interoperability between different asynchronous stream libraries.
  • JVM Specifications - Provides the standard Java interfaces for asynchronous stream processing with non-blocking backpressure.
  • Asynchronous Streams - Implements a standardized protocol for publishing a sequence of elements asynchronously to subscribers.
  • Stream Specifications - Defines the formal specification for passing sequences of elements between publishers and subscribers across different threads.
  • Flow Control - Provides traffic management capabilities to regulate data transfer speeds and prevent system overload.
  • Demand-Driven Backpressure - Regulates data flow by requiring subscribers to signal demand for elements before a publisher sends them.
  • Asynchronous Stream Processing Frameworks - Provides the foundational toolkit for composing asynchronous data pipelines using non-blocking operators and backpressure.
  • Asynchronous Streams - Provides constructs for delivering a sequenced flow of unbounded elements using non-blocking backpressure.
  • JVM Interoperability Frameworks - Provides a common set of interfaces to ensure interoperability between different asynchronous streaming libraries on the JVM.
  • Stream Processing Interfaces - Defines standardized interfaces for reading and writing data streams to ensure cross-library interoperability.
  • Asynchronous Element Production - Produces data from a source using a background executor to ensure non-blocking delivery to subscribers.
  • Interoperable Streaming APIs - Ships a common API and bridging mechanisms that allow different asynchronous streaming libraries to work together.
  • Non-Blocking Asynchronous Delivery - Ensures sequenced elements are delivered across different threads without blocking the execution of the producer or consumer.
  • Signal-Based Stream Termination - Notifies consumers of successful completion or failure via specific method calls to ensure proper resource cleanup.
  • Stream Demand Management - Allows subscribers to request specific amounts of data and cancel subscriptions to prevent producer overflow.
  • Stream Interface Standardization - Provides a set of standard Java interfaces to ensure predictable publishing and consumption across different streaming libraries.
  • Subscription Lifecycle Management - Manages the creation, disposal, and cleanup of the connection between producers and consumers to prevent memory leaks.
  • Non-blocking Pipelines - Implements architectural patterns for building data processing stages that avoid thread locking and resource waste.
  • Asynchronous API Bridging - Provides utilities for converting different streaming specifications to ensure interoperability between incompatible libraries.
  • Stream Completion Signaling - Implements mechanisms to emit a final signal indicating that a stream has finished and will no longer produce values.
  • Stream Element Consumption - Provides mechanisms for consuming a sequence of elements from a provider while managing the subscription lifecycle.
  • Streaming Data Transformations - Provides capabilities to manipulate data as it flows through a processing stage by acting as both consumer and provider.
  • API Interoperability Bridges - Provides mechanisms to translate between incompatible streaming specifications, allowing different libraries to work together.
  • Reactive Stream Testing - Includes a framework for verifying that stream processing logic adheres to backpressure rules and event sequencing.
  • Reactive Programming - Standard for asynchronous stream processing with backpressure.
  • Reactive Programming - Standardized interface for asynchronous stream processing with backpressure.

Star history

Star history chart for reactive-streams/reactive-streams-jvmStar history chart for reactive-streams/reactive-streams-jvm

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Reactive Streams Jvm

Similar open-source projects, ranked by how many features they share with Reactive Streams Jvm.
  • reactor/reactor-corereactor avatar

    reactor/reactor-core

    5,224View on GitHub↗

    Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines on the JVM. It serves as an asynchronous stream processing framework and a backpressure management system, allowing developers to transform, filter, and combine sequences of events while regulating data flow between producers and consumers to prevent resource exhaustion. The library differentiates itself through a sophisticated concurrency scheduling system and demand-based flow control. It decouples signal processing from specific threads using a scheduler registry and provide

    Javaasynchronousflowflux
    View on GitHub↗5,224
  • reactor/reactorreactor avatar

    reactor/reactor

    3,688View on GitHub↗

    Reactor is a reactive streams library and framework for building asynchronous data pipelines. It provides a system for coordinating execution contexts via an asynchronous event-loop manager, alongside a set of reactive abstractions for implementing high-performance TCP, UDP, QUIC, and HTTP services. The project includes a specialized testing tool for verifying the timing and order of asynchronous data flows and a bill of materials to synchronize compatible versions of core reactive libraries and networking add-ons. Its capability surface covers non-blocking network services, demand-based bac

    View on GitHub↗3,688
  • dotnet/reactivedotnet avatar

    dotnet/reactive

    7,153View on GitHub↗

    The .NET Reactive Extensions Library is a framework for composing, querying, and transforming asynchronous data streams. It provides a non-blocking implementation of the observer pattern to manage notifications and data flows between producers and consumers, functioning as an event stream processing library. The project applies LINQ-style querying and filtering operators to asynchronous sequences. This allows for the handling of event-driven programming patterns by utilizing composable operators to process notifications as they occur. The library covers asynchronous data streaming and non-bl

    C#
    View on GitHub↗7,153
  • reactivex/rxswiftReactiveX avatar

    ReactiveX/RxSwift

    24,648View on GitHub↗

    RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and composing asynchronous, event-based programs. It utilizes observable sequences and functional operators to transform and filter asynchronous sequences through a declarative approach. The library is distinguished by its ability to link asynchronous data streams directly to user interface elements, automating view updates via reactive data binding. It includes specialized tools for tracking UI control properties and events on the main thread, as well as the ability to encapsulate

    Swift
    View on GitHub↗24,648
See all 30 alternatives to Reactive Streams Jvm→

Frequently asked questions

What does reactive-streams/reactive-streams-jvm do?

This project provides a formal specification and a set of standard Java interfaces for asynchronous stream processing. It defines a standardized protocol for passing sequences of elements between publishers and subscribers across different threads, centering on a reactive streams specification for the JVM.

What are the main features of reactive-streams/reactive-streams-jvm?

The main features of reactive-streams/reactive-streams-jvm are: Backpressure Management, Interoperability Specifications, JVM Specifications, Asynchronous Streams, Stream Specifications, Flow Control, Demand-Driven Backpressure, Asynchronous Stream Processing Frameworks.

What are some open-source alternatives to reactive-streams/reactive-streams-jvm?

Open-source alternatives to reactive-streams/reactive-streams-jvm include: reactor/reactor-core — Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines… reactor/reactor — Reactor is a reactive streams library and framework for building asynchronous data pipelines. It provides a system for… dotnet/reactive — The .NET Reactive Extensions Library is a framework for composing, querying, and transforming asynchronous data… reactivex/rxswift — RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and… reactivex/rxjava — RxJava is a reactive stream processing framework and JVM reactive extensions library. It serves as an asynchronous… baconjs/bacon.js — Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data…