Get in Touch

Course Outline

Introduction to Reactive Programming

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

Project Reactor and Mono/Flux

  • Concepts of Publisher, Subscriber, and Subscription
  • Utilizing Mono and Flux effectively
  • Managing errors and backpressure mechanisms

Setting Up Spring WebFlux

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

Building Reactive REST APIs

  • Defining application routes and handlers
  • Implementing request mapping via RouterFunction
  • Creating reactive controllers and handling data binding

Integrating with Databases

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

Testing WebFlux Applications

  • Creating unit tests using StepVerifier
  • Conducting integration tests with WebTestClient
  • Simulating data sources and services for testing

Performance and Best Practices

  • Managing threading and scheduling within WebFlux
  • Techniques for debugging reactive code
  • Applying design patterns for scalable reactive applications

Deployment and Real-World Examples

  • Strategies for deploying WebFlux applications
  • Considerations for CI/CD pipelines
  • Case studies and production usage examples

Summary and Next Steps

Requirements

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

Target Audience

  • Java developers new to the concepts of reactive programming
  • Technical leads and architects investigating Spring WebFlux capabilities
  • Backend engineers aiming to construct non-blocking web applications
 35 Hours

Testimonials (3)

Related Categories