Get in Touch

Course Outline

Introduction to Reactive Programming

  • Contrast between blocking and non-blocking systems
  • The Reactive Streams specification
  • Key advantages and applicable use cases

Project Reactor and Mono/Flux

  • Publisher, Subscriber, and Subscription concepts
  • Utilizing Mono and Flux effectively
  • Managing errors and implementing backpressure

Setting Up Spring WebFlux

  • Initializing a Spring Boot WebFlux project
  • Configuring necessary dependencies
  • Comparing WebClient and RestTemplate

Building Reactive REST APIs

  • Defining routes and handlers
  • Implementing request mapping via RouterFunction
  • Reactive controllers and data binding techniques

Integrating with Databases

  • Implementing reactive SQL with R2DBC
  • Interacting with MongoDB in a reactive manner
  • Connecting to external APIs using reactive patterns

Testing WebFlux Applications

  • Creating unit tests using StepVerifier
  • Performing integration tests with WebTestClient
  • Mocking data sources and service interactions

Performance and Best Practices

  • Threading and scheduling mechanisms in WebFlux
  • Debugging strategies for reactive code
  • Design patterns for scalable reactive applications

Deployment and Real-World Examples

  • Deploying WebFlux applications
  • Considerations for CI/CD pipelines
  • Production case studies and usage scenarios

Summary and Next Steps

Requirements

  • Solid knowledge of Java programming
  • Practical experience in web application development
  • Proficiency with HTTP protocols and RESTful APIs

Audience

  • Java developers new to the reactive paradigm
  • Technical leads and architects exploring Spring WebFlux
  • Backend engineers aiming to construct non-blocking web applications
 35 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories