Learn RabbitMQ: Asynchronous Messaging with Java and Spring

Video description

This course will walk you through the beginning from scratch - messaging itself! We'll discover what messaging means and how it affects our architectural decisions and design considerations. Next, we will study about Advanced Message Queueing Protocol (AMQP). We'll discover the benefits and reasons behind the popularity of AMQP and how it has shaped the architecture of RabbitMQ from messaging concepts to client platforms making use of it.

We'll learn Queues, Exchanges, Bindings, Routings, Publishers, Subscribers, and more about RabbitMQ!. We'll install all the necessary software for RabbitMQ and have it up and running on our machines - both on Windows and MacOS. We'll see and learn how RabbitMQ Dashboard helps us easily monitor and manage our RabbitMQ server and send our first ever message to RabbitMQ!

We'll learn how to construct Queues, Exchanges, and Bindings with Spring AMQP using both Annotations Builder methods and also develop a message listener for specific queue that we also created programmatically. We'll both publish and listen to messages and develop a complete application from scratch similar to other professional applications!

RabbitMQ is the most widely-deployed open-source message broker or messaging middleware in other terms. RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements. RabbitMQ runs on many operating systems and cloud environments. It also provides a wide range of developer tools for most popular languages.

What You Will Learn

  • Learn to build applications with RabbitMQ using Java and Spring!
  • Learn and Implement Topics, Queues, Exchanges, and Bindings in RabbitMQ
  • Learn how to develop message listeners for specific queues and routings
  • Learn to design asynchronous, message-driven systems with RabbitMQ!
  • Learn and understand Message-Queueing
  • Learn and understand Advanced Message-Queueing Protocol or AMQP
  • Learn and understand how Advanced Message-Queueing Protocol works
  • Learn and understand the architecture of RabbitMQ


This course is for anyone who wants to learn RabbitMQ inside-out,who wants to learn publishing and subscribing to messages with RabbitMQ and those who wants to build and design asynchronous, loosely-coupled systems with Java and Spring.

About The Author

Niyazi Erdoğan: Niyazi Erdogan is an AWS Certified Solutions architect and software engineer with over ten years of experience in various fields. He is living in one of the most beautiful cities in the world—Istanbul. He is a self-taught programmer and has been programming since he was in middle school. His experience ranges from embedded development to server-side and client-side development technologies. He started his career while he was only a student as a Java developer in the healthcare industry as a private contractor. Then he moved into the largest telecommunication company in Turkey, which is Turkcell.

After several years and various different positions at Turkcell, he moved to Portugal and worked for another large telecommunication company for several years with Java technologies. After the telecommunication industry experience and several different experiences, he joined one of the largest companies in its sectors, which is Siemens. He currently works at Siemens with various Java and cloud technologies. Besides his day job, he really enjoys developing software with lots of different technologies. On the other hand, he loves to follow tech conferences and blogs about the latest technologies and tools.

Publisher resources

Download Example Code

Product information

  • Title: Learn RabbitMQ: Asynchronous Messaging with Java and Spring
  • Author(s): Niyazi Erdoğan
  • Release date: February 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838646189