Skip to content

abhi-224/java-reactive-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Reactor Hands-On Learning

Welcome to my hands-on learning repository for Project Reactor in Java! This repository contains my journey of exploring reactive programming concepts through practical examples and exercises using Project Reactor.

📌 About

This repository is my personal learning space where I experiment with Project Reactor, a foundational library for building reactive applications on the JVM. Here, I document my progress through various reactive programming concepts, from basic to advanced.

🚀 What's Inside

  • Basic reactive streams with Flux and Mono
  • Operators and transformations
  • Backpressure handling
  • Error handling strategies
  • Testing reactive streams
  • Advanced topics like combining publishers, hot vs cold publishers, etc.
  • Practical examples and use cases

🛠️ Prerequisites

To work with the examples in this repository, you'll need:

  • Java 11 or higher
  • Maven 3.6+
  • Basic understanding of Java and functional programming concepts
  • (Optional) IDE with Java support (IntelliJ IDEA recommended)

⚙️ Setup

  1. Clone the repository:

    git clone https://github.com/abhishek-shrestha224/java-reactive-programming.git
    cd project-reactor-learning
  2. Build the project:

    ./mvnw clean install

📚 Learning Path

The repository is organized by concepts, with each having its own package and examples:

  1. Core Concepts

    • Hello World with Reactor
    • Flux vs Mono
    • Subscribing to Publishers
  2. Operators

    • Transformation operators (map, flatMap)
    • Filtering operators (filter, take, skip)
    • Combining operators (merge, zip, concat)
  3. Advanced Topics

    • Backpressure strategies
    • Schedulers and threading
    • Hot vs Cold Publishers
    • Testing with StepVerifier

🤝 Contributing

While this is primarily a personal learning repository, I welcome suggestions, corrections, or additional examples that could help others learn Project Reactor. Feel free to open issues or pull requests!

📖 Resources

Here are some excellent resources that helped me in this learning journey:

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


Happy reactive coding! 🚀

About

Hands on with Projector Reactor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages