Get in Touch

Course Outline

Introduction to Reactive Programming

  • Comparing blocking vs. non-blocking systems.
  • Overview of the Reactive Streams specification.
  • Key benefits and typical use cases.

Project Reactor and Mono/Flux

  • Understanding Publishers, Subscribers, and Subscriptions.
  • Working effectively with Mono and Flux.
  • Implementing error handling and managing backpressure.

Setting Up Spring WebFlux

  • Creating a Spring Boot WebFlux project.
  • Configuring necessary dependencies.
  • An overview of WebClient versus RestTemplate.

Building Reactive REST APIs

  • Defining routes and handlers.
  • Mapping requests using RouterFunction.
  • Utilizing reactive controllers and data binding.

Integrating with Databases

  • Utilizing R2DBC for reactive SQL operations.
  • Working with MongoDB in a reactive manner.
  • Connecting to external APIs reactively.

Testing WebFlux Applications

  • Writing unit tests using StepVerifier.
  • Performing integration testing with WebTestClient.
  • Mocking data sources and services.

Performance and Best Practices

  • Threading and scheduling strategies in WebFlux.
  • Debugging reactive code effectively.
  • Design patterns for building scalable reactive applications.

Deployment and Real-World Examples

  • Deploying WebFlux applications.
  • Considerations for CI/CD pipelines.
  • Case studies and real-world production usage.

Summary and Next Steps

Requirements

  • A solid understanding of Java programming.
  • Prior experience in web application development.
  • Familiarity with HTTP protocols and RESTful APIs.

Target Audience

  • Java developers who are new to reactive programming.
  • Technical leads and architects exploring the capabilities of Spring WebFlux.
  • Backend engineers looking to build non-blocking web applications.
 35 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories