November 22 - 24 2021
September 1 - 3 2021
Training Cost
1.700 EUR (VAT ex.) per person
1.850 EUR (VAT ex.) per person
Practical informationClass from 9 AM to 5 PM
LanguageEnglish (unless all attendees speak Dutch)

Most of our classroom training courses take place in Belgium (Edegem) or The Netherlands (Breda). Please click the button with the desired date to check the exact location of the training.

This training in-company?
Upon your request we can organize this training for you.

3 days

Course overview

This intensive three day, instructor-led course in RabbitMQ provides a deep dive into how to install, configure and develop applications which leverage RabbitMQ messaging. The course begins with RabbitMQ installation and general configuration. It continues with developing messaging applications using the Java APIs and delves into more advanced topics including clustering, high availability, performance and security. Modules are accompanied by lab exercises that provide hands-on experience.

Who should attend this training
  • Developers

  • Architects

  • Administrators

Course Objectives

At the end of the course, you should be able to do the following:

  • Install and configure RabbitMQ

  • Activate and use plugins such as the web management console

  • Implement messaging patterns and applications using the Java client

  • Set up a cluster of RabbitMQ nodes

  • Configure high availability appropriately

  • Tune and optimize RabbitMQ for better performance

  • Secure RabbitMQ


We recommend participants to have knowledge on Core Java or any enterprise programming language.

Course Content

Introduction to messaging and AMQP

  • Benefts of messaging and asynchronous systems

  • Why JMS isn’t enough

  • Introduction to AMQP

  • RabbitMQ case studies

RabbitMQ Installation

  • Product description and main capabilities

  • Installation, directory structure, and configuration

  • Durability with the Mnesia database

  • Basic administration

  • Web management console

  • Multitenancy with virtual hosts

  • Logging with the firehose tracer

Development and Integration

  • Clients (Java, C#, Python, Ruby, etc.)

  • Focus on the Java client

  • Publishing and consuming messages

  • Managing AMQP resources

  • AMQP routing with exchanges and queues

  • Higher level abstractions (Spring AMQP & Integration, Pika)

  • Messaging patterns

Reliable Messaging Development

  • Durable queues and exchanges

  • Persistent messages

  • AMQP and JMS transactions

  • AMQP acknowledgments

  • Dead lettering

  • Multiple transactional resources


  • Scalable messaging architecture through clustering

  • Creating a cluster

  • Disk vs. RAM nodes

  • Administration of a cluster

  • Network partitions

High Availability

  • Cluster node failures and consequences

  • Mirrored queues

  • Slave synchronization

  • Client failover handling


  • RabbitMQ plugins introduction

  • LDAP authentication

  • Shovel

  • Federation

  • Shovel vs federation



  • Impacts of configuration and client code options on performance

  • Flow control

  • Best practices


  • Virtual hosts, users, and access control

  • Authentication

  • Secured communication

Operations and Monitoring

  • Disk, firewall, heartbeat tuning

  • Monitoring

  • Management API

  • Support for third-party monitoring tools

Spring AMQP (Optional)

  • Introduction to Spring

  • Spring AMQP overview

  • Spring’s AMQP template

  • Configuring AMQP Resources using Spring

  • Sending and receiving messages

This training in-company?
Upon your request we can organize this training for you.