Reactive and Asynchronous Java Training in Canada

  • 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 Canada facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
02 August 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
01 August 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
03 August 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
03 August 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
08 August 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
14 August 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
17 September 2024
Toronto, Montreal, Calgary
2 Days
Classroom / Virtual Classroom
23 September 2024
Toronto, Montreal, Calgary
2 Days
Reactive and Asynchronous Java Training Course in Canada

Canada is a North American country. Known as the second-largest country of the world, Canada’s capital city is Ottawa. Toronto, Vancouver and Montreal are the biggest and most popular cities of this country. The 8,891-kilometer southern and western border between Canada and the United States is the world's longest intergovernmental land border. This country also has the longest coastline in the world.

Canada is a constitutional monarchy. The country was originally a British Empire colony and is now a part of the British Commonwealth. Both French and English are Canada’s official languages. Canada’s national animal is a beaver and the its flag design is a vertical triband of red and white with a red maple leaf charged in the centre. Some of the top-rated tourist attractions in Canada are Niagara Falls, Banff National Park and Rocky Mountains, CN Tower in Toronto City, Bay of Fundy, Old Quebec (Vieux-Quebec in French), the ski resort of Whistler, Ottawa's Parliament Hill and Vancouver Island.

Choose from our extensive selection of IT courses, covering programming, data analytics, software development, business skills, cloud computing, cybersecurity, project management. Our highly skilled instructors will deliver hands-on training and valuable insights at a location of your choice within Canada.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.