Get in Touch

Course Outline

Introduction to Reactive Programming

  • Blocking versus non-blocking systems.
  • The Reactive Streams specification.
  • Benefits and common use cases.

Project Reactor and Mono/Flux

  • Understanding Publishers, Subscribers, and Subscriptions.
  • Working with Mono and Flux types.
  • Handling errors and managing backpressure.

Setting Up Spring WebFlux

  • Creating a Spring Boot WebFlux project.
  • Configuring necessary dependencies.
  • Overview of WebClient compared to RestTemplate.

Building Reactive REST APIs

  • Defining routes and handler functions.
  • Request mapping using RouterFunction.
  • Implementing reactive controllers and data binding.

Integrating with Databases

  • Using R2DBC for reactive SQL database access.
  • Working with MongoDB in a reactive manner.
  • Connecting to external APIs reactively.

Testing WebFlux Applications

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

Performance and Best Practices

  • Managing threading and scheduling in WebFlux.
  • Debugging reactive code effectively.
  • Applying design patterns for scalable reactive applications.

Deployment and Real-World Examples

  • Deploying WebFlux applications.
  • Considering CI/CD workflows.
  • Case studies and production usage examples.

Summary and Next Steps

Requirements

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

Audience

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

Number of participants


Price per participant

Testimonials (3)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories