Running on Java 15-ea+15-619 (Preview)
Home of The JavaSpecialists' Newsletter

Reactive Programming Course

Learn with Oleh Dokuka, Java Champion and author of "Reactive Programming in Spring"

The Reactive Programming is an intensive 4-day course, written and taught by Java Champion Oleh Dokuka, author of the book Hands-On Reactive Programming in Spring 5.

During the training, you will always get a chance to try out what you have learned in carefully thought out exercises. This will help you understand and quickly internalize what you have just learned.

Reactive Programming Course Enquiry


Read our Privacy Policy

Prerequisites

This course is ideally suited to the professional Java programmer with at least 2 years experience, who would like to learn how to code with reactive Java.

  • Required Experience: At least two years of professional Java programming.
  • Equipment: Please consult our setup guide on how to set up your lab.

Pricing Options

There are several options for you to attend this course:

1. Inhouse Course:

Presented at your company either in person by one of our Certified JavaSpecialist Instructors or via video conferencing. Price is €17495 for up to 10 students, above that is an additional €1750 per student, plus the travel expenses of the instructor, plus one teaching assistant. Please contact us if you have any questions.

2. Self-Study:

Please see our self-study option for more information.

* Price is excluding EU VAT and withholding taxes where applicable. Please contact us for an exact quote for your country.

Open Courses

Location Dates Presenter Language Fees

* Price is excluding EU VAT where applicable. Please contact us for an exact quote for your country.

Detailed Outline

Reactive Programming Course Agenda

Day 1

The central focus of day 1 is on learning the essentials of reactive programming, reactive streams, and project reactor as one of the famous implementations.

  1. The motivation behind Reactive. (Here we are going to look at different meanings of the word "reactive" and how reactive programming was evolving over time)
  2. Intro to Project Reactor (Short Story of Project Reactor and Reactive Types it has)
  3. Project Reactor Essentials, where we cover the API every Project Reactor user should know in order to generate/transform Flux or Mono stream. Also, attendees are working on a set of exercises

    • How to Create Flux and Mono (followed by exercises)
    • How to Do essential transformations on a stream of data (followed by exercises)

  4. Project Reactor Advanced:
    • How to Deal with Multiple streams at a time (followed by exercises)
    • How to Work with Multithreading (followed by exercises)
    • How to Control Flow of elements (followed by exercises)
    • How to Work with Resilience and handle Errors (followed by exercises)
    • How to Work with Contextual Data (followed by exercises)
    • How to Test (followed by exercises)
    • How to Log, Debug and collect Metrics (followed by exercises)

Day 2

The central focus of day 2 is getting a proper understanding of how to apply the API of the Project Reactor in order to solve common microservices problems.
  1. Implementing the logic of a part of the orders analytic app. Here the attendee is going to collect data from a few data sources and apply transformations on them
  2. Implementing a load balancer which should work in a few balancing modes which everyone will have to implement using Project Reactor
  3. Working with Blocking API. In this task, the student will be required to adopt a blocking JPA repository using Project Reactor Scheduler API and operators which affect on which thread processing is happening.
  4. Working with Backpressure on a sample of data uploading and external service API which has a strict limitation on a number of requests/second and some limitations on how data should be sent. In this example, attendees will have to brainstorm on how to follow all the limitations put by external service and write their implementation as elegant as possible using Project Rector API only.
  5. Managing distributed transactions or simply talking implementing orchestrated saga pattern using Project Reactor. In this exercise, the stuend will get API of an asynchronous Database driver and will have to ensure that the same record went into both databases.
  6. Working with Reactive Context and in this exercise, we are going to write a Reactive Dependency Injection Mechanism. In this case, we will reference some limitations of Spring WebFlux and session scoped beans and how it could be solved if we store all the session scoped beans in the Reactor Context

Day 3

Writing Reactive System using Reactive Spring.
  1. Intro into Reactive Spring and set of reactive technologies it has.
    • Reactive Relational Database access - here we are going to cover R2dbc and how to work with it
    • Reactor-Netty - the main web framework for Spring WebFlux
    • Spring WebFlux and Spring Data R2dbc
    • RSocket and Spring Messaging RSocket
  2. Intro into the microservices system we are going to build.
  3. Step by step writing of every component of the system using the aforementioned technologies

About the Author

Heinz Kabutz Java Conference Speaker

Java Champion, author of the Javaspecialists Newsletter, conference speaking regular... About Heinz

Superpack 2020

Superpack 2020 Our entire Java Specialists Training in one huge bundle more...

110% Money-back Guarantee

Should you not be satisfied with the quality of the training or the delivery, we will gladly refund you 100% of the course fees. This needs to be brought to our attention within the first 4 hours of the course and a chance should be given to correct whatever you are not satisfied with. If you are still not satisfied, we will refund you 100% of the course fees, plus we will pay our own travel expenses. The training material then remains the property of JavaSpecialists.EU.


Cancellation Policy

If the course is cancelled more than two weeks before the start of the course, a 10% cancellation fee of the fees will apply, plus any non-refundable travel expenses incurred by the trainer.

If the course is cancelled within two weeks of the start of the course, a 50% cancellation fee of the fees will apply, plus any non-refundable travel expenses incurred by the trainer.

No refund will be given to cancellations during the course.


Java Training

We deliver relevant courses, by top Java developers to produce more resourceful and efficient programmers within their organisations.

Java Consulting

We can help make your Java application run faster and trouble-shoot concurrency and performance bugs...

Java Emergency?

If your system is down, we will review it for 15 minutes and give you our findings for just 1 € without any obligation.