Reactive and Asynchronous Java Training in South Africa

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 2 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

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. You then 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. You’ll learn the good, the bad and the ugly between these approaches in terms of compositionality, testability and simplicity.


About the Trainers

Raoul-Gabriel Urma

Raoul-Gabriel Urma obtained a PhD in Computer Science from the University of Cambridge. He is co-author of the international bestselling book Java 8 in Action which sold over 20,000 copies in the world. Raoul is a regular conference speakers and delivered over 50 technical talks at international conferences. He has worked for large companies such as Google, eBay, Oracle, and Goldman Sachs, as well as for several startup projects.


Richard Warburton

Richard Warburton is an empirical technologist and solver of deep-dive technical problems. Recently he has written a book on Java 8 Lambdas for O’Reilly. He’s worked as a developer in many areas including Statistical Analytics, Static Analysis, Compilers and Networking. He is a leader in the London Java Community and runs OpenJDK Hackdays. Richard is also a known conference speaker, having talked at JavaOne, Devoxx, JFokus, DevoxxUK, Geecon, JAX London and Codemotion. He has obtained a PhD in Computer Science from the University of Warwick.


Code examples and exercises will be written in Java 8 so a basic knowledge of Java 8 is required

  • Understand various models of concurrency and asynchronous programming
  • Explore and develop applications using the Actor model and Akka
  • Learn how develop and test Promises and CompletableFutures
  • Develop reactive applications using RxJava

Asynchronous vs Synchronous Programming

  • Servlets
  • Asynchronous Servlets (3.0) and Spring
  • Why use asynchronous communications?
  • Solving the C10K Problem and the Microservices Performance problem
  • The full stack - from application right down to the OS
  • Timeouts
  • The Reactive Manifesto
  • Models of Concurrency: Event Based, Promises, The Actor Model, Reactive Streams

Promises using CompletableFutures

  • Executor and Future
  • CompletableFuture
  • Composition patterns
  • Asynchronous Timeouts
  • Exception handling
  • Testing

The Actor Model with Akka

  • Why and when would you use Actors?
  • What are Actors?
  • Using Akka
  • Testing actors

Reactive Streams with RxJava

  • Introducing Reactive Streams
  • Using RxJava
  • Pull vs. Push models
  • Threading and Back Pressure
  • Connecting Reactive streams to databases and web sockets
  • Java 9 Flow API
  • Alternative Reactive Stream Implementations


Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our South Africa facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
03 June 2024
Cape Town, Durban, Johannesburg
2 Days
Classroom / Virtual Classroom
18 July 2024
Cape Town, Durban, Johannesburg
2 Days
Classroom / Virtual Classroom
02 August 2024
Cape Town, Durban, Johannesburg
2 Days
Classroom / Virtual Classroom
01 August 2024
Cape Town, Durban, Johannesburg
2 Days
Classroom / Virtual Classroom
03 August 2024
Cape Town, Durban, Johannesburg
2 Days
Classroom / Virtual Classroom
14 August 2024
Cape Town, Durban, Johannesburg
2 Days
Classroom / Virtual Classroom
17 September 2024
Cape Town, Durban, Johannesburg
2 Days
Classroom / Virtual Classroom
23 September 2024
Cape Town, Durban, Johannesburg
2 Days
Reactive and Asynchronous Java Training Course in South Africa

Formerly known as Union of South Africa, now officially known as Republic of South Africa is the Southernmost country in Africa. South Africa's population is over 60 million people, which makes the country the world's 23rd-most populous nation. South Africa has three capital cities: executive Pretoria, judicial Bloemfontein and legislative Cape Town, while the largest city is Johannesburg. The official languages of South Africa are Afrikaans, English, Ndebele, Pedi, Sotho, Swati, Tsonga, Tswana, Venda, Xhosa and Zulu.

South Africa can be rainy from November to February, so the best time to visit South Africa is from May to September. Despite the rainy season South Africa is a year-round destination, with varying regional climates. Blyde River Canyon, Durban, Drakensberg, Kruger National Park and of course, Cape Town are the tourist attractions of the country.

Expand your IT knowledge with our comprehensive range of courses, including programming, software development, business skills, data science, cybersecurity, cloud computing and virtualization. Our skilled instructors will facilitate hands-on training and share practical insights, all conveniently conducted at your preferred location within South Africa.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.