Reactive and Asynchronous Java:
Apply the latest concurrency techniques to Java apps

Your trainers: Richard Warburton and Raoul-Gabriel Urma
May 16 – 17, 2019 | London

Looking for the best ways to build reactive and asynchronous Java apps? Presented by Java champions Richard Warburton and Raoul-Gabriel Urma, this hands-on Masterclass course teaches developers to apply the latest asynchronous concurrency techniques to build state-of-the-art Java apps for microservices and service-oriented architectures.

Develop state of the art Java applications

About this workshop

Reactive and asynchronous applications are growing in popularity, but what is the best way to build them? This course teaches you how to apply the latest concurrency techniques to develop state of the art Java applications. With the rise of microservices and service oriented architectures, asynchronous concurrency is now critical to day-to-day Java development.

We start off by reviewing the differences between asynchronous and synchronous programming. Participants will build upon this theory by refactoring a project using different modern concurrency techniques including promises using Java 8’s CompletableFuture, actors using Akka, and reactive streams using RxJava. Thanks to this hands-on experience, you’ll learn the good, the bad, and the ugly between these approaches in terms of compositionality, testability and simplicity.

This course will help you learn new skills and expand your development horizons by applying several established teaching principles. We engage students in regular hands-on coding exercises where you get to take the ideas we cover and apply them in a realistic way. You get to do this on you own laptop in an environment you’re comfortable and familiar with.

Also, we focus on the big picture, rather than the low level details of specific frameworks or libraries. This ensures that we’re instilling long lasting principles that can be applied to many different situations throughout your programming career, rather than just knowledge that will become out of date in 2-3 years. Plus, we’re Java Champions – genuine experts in the Java ecosystem who can answer your questions and help apply the knowledge in the course.

Day 1 – Asynchronous vs Synchronous Programming

  • Servlets
    • Asynchronous Servlets (3.0) and Spring
    • Why use asynchronous communications?
    • Solving the C10K Problem and the Microservices Performance problem
    • Timeouts
    • Approaches to Concurrency
  • The Reactive Manifesto and Functional Reactive Programming
    • Models of Concurrency: Event Based, Promises, The Actor Model, Reactive Streams
    • The full stack – from application right down to the OS
    • Promises using CompletableFutures
  • What is a Promise?
    • Motivation
    • ExecutorService
    • Creation patterns
    • Composition patterns
    • Exception handling
    • Sequence patterns

Day 2 – The Actor Model with Akka

  • Servlets
    • What is the Actor model?
    • Why and when would you use actors?
    • Using Akka
    • Testing actors
    • Recovering from exceptions
    • Integration patterns
    • Reactive Streams with RxJava
  • Introducing Reactive Streams
    • Connecting Reactive streams to databases and web sockets
    • Pull vs. Push models
    • Using RxJava
    • Java 9 Flow API
    • Alternative Reactive Stream Implementations
    • Threading and Back Pressure


A good understanding of core Java/Java SE (preferably including Java 8, but not required)

A laptop installed with:

  • Java SE 8 or later
  • Maven
  • Any IDE of your choice

About the trainer

Dr Richard Warburton


Richard is a Software Engineer, Teacher and Java Champion. He is the cofounder of and has a long-standing passion for improving Java performance. He’s worked as a developer in different areas including HFT, Static Analysis, Compilers and Network Protocols. He has written the book “Java 8 Lambdas” for O’Reilly and helps developers learn via and He is a regular speaker on the conference circuit and holds a PhD in Computer Science from The University of Warwick.

Dr Raoul-Gabriel Urma

Iteratr Learning

Raoul-Gabriel Urma is CEO and co-founder of Cambridge Spark, a leading learning community for data scientists and developers in UK. In addition, he is also Chairman and co-founder of Cambridge Coding Academy, a growing community of young coders and pre-university students. Raoul is author of the bestselling programming book “Java 8 in Action” which sold over 20,000 copies globally. Raoul completed a PhD in Computer Science at the University of Cambridge. During his PhD he initiated an open source research project at Google which adds enhanced runtime checking to Python. In addition, he holds a MEng in Computer Science from Imperial College London and graduated with first class honours having won several prizes for technical innovation. Raoul has delivered over 100 technical talks at international conferences. He has worked for Google, eBay, Oracle, and Goldman Sachs. He is also a Fellow of the Royal Society of Arts.

JAXenter Masterclass 2019 Tickets

.    Book before March 28th and save up to £315 per ticket

Early Bird
Early Bird
(incl. group discount)
(incl. group discount)
All prices + VAT

More by JAXenter Masterclass

Presented By


Park Plaza Victoria London
239 Vauxhall Bridge Road
London SW1V 1EQ United Kingdom

The four-star Park Plaza Victoria hotel in London, situated within walking distance of Victoria train, coach, bus and Underground stations, provides an excellent transportation link to London Heathrow and London Gatwick airports. Offering on-site meeting facilities, dining options, Amber Spa and an Executive Lounge, this Victoria Station hotel is thoughtfully designed to suit business, conference and leisure travelers alike.
Centrally located to some of the city’s main tourist and shopping attractions: Buckingham Palace, Harrods, the Houses of Parliament, Theatreland, Oxford Street