Get in Touch

Course Outline

Foundations of Reactive Programming

  • Comparing blocking and non-blocking architectures
  • The Reactive Streams specification
  • Key advantages and applicable use cases

Project Reactor: Mono and Flux

  • Concepts of Publisher, Subscriber, and Subscription
  • Implementing logic with Mono and Flux
  • Managing errors and applying backpressure

Configuring Spring WebFlux

  • Initializing a Spring Boot WebFlux project
  • Managing and configuring dependencies
  • Contrast between WebClient and RestTemplate

Creating Reactive REST APIs

  • Establishing routes and handlers
  • Implementing request mapping via RouterFunction
  • Using reactive controllers and data binding

Database Integration

  • Utilizing R2DBC for reactive SQL operations
  • Interacting with MongoDB using reactive patterns
  • Reactively connecting to third-party APIs

Testing WebFlux Applications

  • Developing unit tests utilizing StepVerifier
  • Conducting integration tests with WebTestClient
  • Simulating data sources and services

Performance Optimization and Best Practices

  • Threading models and scheduling in WebFlux
  • Techniques for debugging reactive code
  • Design patterns for building scalable reactive systems

Deployment and Practical Applications

  • Strategies for deploying WebFlux applications
  • Considerations for CI/CD pipelines
  • Case studies and production environment insights

Conclusion and Future Directions

Requirements

  • Solid knowledge of Java programming
  • Practical experience in web application development
  • Familiarity with HTTP protocols and RESTful API design

Target Audience

  • Java developers exploring reactive programming for the first time
  • Technical leads and architects evaluating Spring WebFlux capabilities
  • Backend engineers looking to construct non-blocking web services
 35 Hours

Testimonials (3)

Related Categories