Get in Touch

Course Outline

Introduction to Reactive Programming

  • Comparing blocking versus non-blocking systems.
  • Overview of the Reactive Streams specification.
  • Key advantages and typical use cases.

Project Reactor and Mono/Flux

  • Publisher, Subscriber, and Subscription mechanisms.
  • Utilizing Mono and Flux operators.
  • Managing error handling and backpressure.

Setting Up Spring WebFlux

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

Building Reactive REST APIs

  • Defining routes and handlers.
  • Mapping requests via RouterFunction.
  • Implementing reactive controllers and data binding.

Integrating with Databases

  • Leveraging R2DBC for reactive SQL operations.
  • Interacting with MongoDB using a reactive approach.
  • Connecting to external APIs in a reactive manner.

Testing WebFlux Applications

  • Creating unit tests with StepVerifier.
  • Conducting integration testing using WebTestClient.
  • Mocking data sources and services.

Performance and Best Practices

  • Managing threading and scheduling within WebFlux.
  • Debugging complex reactive code.
  • Design patterns for building scalable reactive applications.

Deployment and Real-World Examples

  • Deploying WebFlux applications.
  • Considerations for CI/CD pipelines.
  • Case studies and production usage examples.

Summary and Next Steps

Requirements

  • A solid foundation in Java programming.
  • Prior experience in web application development.
  • Familiarity with HTTP protocols and RESTful API architectures.

Target Audience

  • Java developers introducing themselves to reactive programming.
  • Technical leads and architects investigating the potential of 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