Get in Touch

Course Outline

Introduction to Reactive Programming

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

Project Reactor and Mono/Flux

  • The roles of Publisher, Subscriber, and Subscription
  • Utilizing Mono and Flux types

Setting Up Spring WebFlux

  • Initialising a Spring Boot WebFlux project
  • Managing and configuring project dependencies
  • Comparing WebClient and RestTemplate capabilities

Building Reactive REST APIs

  • Establishing routes and defining handlers
  • Mapping requests using RouterFunction
  • Implementing reactive controllers and data binding

Database Integration

  • Leveraging R2DBC for reactive SQL interactions
  • Adopting reactive patterns with MongoDB
  • Connecting to external APIs using reactive techniques

Testing WebFlux Applications

  • Authoring unit tests using StepVerifier
  • Conducting integration tests with WebTestClient
  • Mocking data sources and dependent services

Performance and Best Practices

  • Understanding threading and scheduling within WebFlux
  • Techniques for debugging reactive code
  • Design patterns for building scalable reactive applications

Deployment and Real-World Examples

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

Summary and Next Steps

Requirements

  • A solid foundation in Java programming
  • Prior experience in web application development
  • Knowledge of HTTP protocols and RESTful API design

Target Audience

  • Java developers looking to introduce reactive programming into their workflow
  • Technical leads and architects evaluating Spring WebFlux for new projects
  • Backend engineers aiming to construct non-blocking web applications
 35 Hours

Number of participants


Price per participant

Testimonials (3)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories