Get in Touch

Course Outline

Foundations of Reactive Programming

  • Comparing blocking and non-blocking system architectures
  • An overview of the Reactive Streams specification
  • Key advantages and common use cases

Exploring Project Reactor with Mono and Flux

  • Understanding Publishers, Subscribers, and Subscription lifecycles
  • Practical usage of Mono and Flux structures
  • Strategies for error handling and managing backpressure

Initializing Spring WebFlux Projects

  • Scaffolding a new Spring Boot WebFlux application
  • Managing and configuring project dependencies
  • Comparing WebClient and RestTemplate functionalities

Developing Reactive REST APIs

  • Establishing routes and request handlers
  • Implementing request mapping via RouterFunction
  • Working with reactive controllers and data binding mechanisms

Database and External Service Integration

  • Executing reactive SQL queries using R2DBC
  • Interacting with MongoDB in a reactive manner
  • Consuming external APIs with reactive principles

Testing Strategies for WebFlux

  • Constructing unit tests using StepVerifier
  • Performing integration tests with WebTestClient
  • Techniques for mocking data sources and service layers

Optimizing Performance and Applying Best Practices

  • Managing threading models and scheduling in WebFlux
  • Effective techniques for debugging reactive code paths
  • Architectural design patterns for scalable reactive systems

Deployment Strategies and Practical Scenarios

  • Deploying WebFlux applications to production environments
  • Considering CI/CD pipeline impacts for reactive apps
  • Reviewing case studies and production usage examples

Conclusions and Future Learning Paths

Requirements

  • A solid grasp of Java programming fundamentals
  • Prior experience in developing web applications
  • A working knowledge of HTTP protocols and RESTful API design

Intended Audience

  • Java developers looking to enter the reactive programming domain
  • Technical leads and architects investigating the capabilities of Spring WebFlux
  • Backend engineers aiming to implement non-blocking web architectures
 35 Hours

Number of participants


Price per participant

Testimonials (3)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories