RabbitMQ & Java (Spring Boot) for System Integration

Learn using Rabbit MQ & Java for asynchronous messaging and data transfer among systems in real time fashion

New Update!

What you’ll learn

  • Setup a basic RabbitMQ environment.
  • Learn & implement RabbitMQ concepts : message, queue, exchange.
  • Learn basic knowledge of Java with Spring Boot.
  • Learn & implement Java programs to handle asynchronous data integration among multiple systems using RabbitMQ.
  • Handle basic error that occurred on Java + RabbitMQ, including how to retry failed message.
  • Using basic RabbitMQ REST API.

Course Content

  • Introduction –> 3 lectures • 8min.
  • Technology in This Course –> 5 lectures • 20min.
  • Installation –> 6 lectures • 27min.
  • RabbitMQ Basic Concepts –> 1 lecture • 3min.
  • Start Writing Codes –> 5 lectures • 43min.
  • Working with JSON Message –> 4 lectures • 20min.
  • RabbitMQ Exchange –> 5 lectures • 59min.
  • Postman & RabbitMQ –> 1 lecture • 7min.
  • Basic Error Handling –> 8 lectures • 21min.
  • Error Handling with Retry Mechanism –> 3 lectures • 26min.
  • Make Other People Life Easier –> 3 lectures • 22min.
  • RabbitMQ Plugins & Cloud RabbitMQ –> 2 lectures • 15min.
  • Easy Retry Mechanism With Spring –> 3 lectures • 24min.
  • Spring & RabbitMQ – Advanced Concepts –> 16 lectures • 2hr 9min.
  • Create RabbitMQ Structure From Java Code –> 2 lectures • 21min.
  • RabbitMQ vs Kafka –> 1 lecture • 7min.
  • Bonus –> 3 lectures • 4min.

Auto Draft

Requirements

  • Understand basic algorithm and programming language.
  • Basic Java programming language (especially with Spring) will helps, but not a mandatory requirement.

New Update!

More advanced concepts and technical-hands-on for RabbitMQ. OF course, working source code included :

  • Automatically convert Java objects to / from JSON
  • Schedule consumers to stop / start at given time
  • Consumer prefetch
  • Handle message ordering
  • New way to write consumer
  • Consistent hash exchange
  • Request-reply pattern
  • Create RabbitMQ structures (queue, exchange, binding) from Java code
  • Install RabbitMQ using Docker. Works for all operating system!
  • Use RabbitMQ plugins to extend functionalities
  • Don’t want to install RabbitMQ? Use it on cloud!
  • Retry mechanism without any code! (direct exchange)
  • Again, do retry mechanism without writing code! (fanout exchange)
  • Additional bonus for modern architecture!
  • Single active consumer
  • Reliable publishing

——————————————————————————————————

 

Messaging System

Nowadays, we work with multiple systems and data that runs among them. It’s a common thing that one system triggers another system(s) process, or data needs to be transferred among systems. Whether your systems built on monolith or microservice, whatever database you use, you need those data moving from one point to another. And you need those movement FAST to be processed immediately (otherwise your life will be ruined).

That kind of demand is so common, and fortunately today’s technology has an answer for that. Say hello to messaging system, where you can send message easily from one system to another system(s) asynchronously, in almost-real-time interval. There are some popular messaging system in the market, and in this course we will be talking about one of the most popular : RabbitMQ.

 

RabbitMQ

Rabbit MQ is like central hub where you place all data from source system(s), and the other corresponding systems takes the data, and process it. RabbitMQ is open-source, reliable, and able to works on cluster. It has small learning curve to get started, yet powerful enough for system integrations.

This course includes everything you need to know about basic RabbitMQ, and implementation using Java (Spring Framework). After finishing this course, you should be able to install, configure and use RabbitMQ from Java Program. In this course, we will walk through detailed step-by-step from concept to hands-on Java coding. Given such way, you will learn have the understanding of logic behind and experience how things are done using Rabbit MQ and Java source codes.

 

Java and Spring Boot

Java itself has been a popular language for years. Java is recognized as world’s most used programming language by several programming language index. Due it’s popularity and long history, Java has a lot of open source projects or framework to helps developer works more efficient. One of the popular Java framework is Spring Framework. Over years, Spring Framework has grown substantially among Java community. Almost all software components required by a Java application is available within Spring Framework. However, configuring Spring requires some effort. This involves setting up library dependencies, then configuring the required Java Spring beans using XML or annotations in Java code. Spring developers soon realized that it is possible to automate much of this work.

So in 2014, Spring Boot 1.0 released for Java community. Spring Boot gives Java programmers a lot of automatic helpers, and lead to quick large scale adoption of the project by Java developers.

In real-world application, Java with Spring, combined with RabbitMQ, can gives benefit for data transfer among systems. Rabbit MQ itself is popular among Java developers, although RabbitMQ developers provides client for multiple programming language other than Java.

 

What You Will Get

After finishing the course, you will learn:

  • Installation of RabbitMQ and Java (In Windows. Currently I don’t have Linux/Mac)
  • RabbitMQ key concepts
  • Managing RabbitMQ from web user interface
  • Create publisher and consumer using Java (Spring Boot)
  • Basic error handler if there is a failure during processing Rabbit MQ message
  • Retry mechanism on RabbitMQ if there is failure message
  • Handle message ordering

The course will explains to you not only the theory of Rabbit MQ, but also a lot of hands-on coding to get your hands dirty and your brain working. Whether you are a hobbyist, beginner, or experienced developer, this course will surely brings added value for you!

 

Road to Microservices

Message broker is one important pillar of microservice architecture. In micro service, we use asynchronous messaging for inter-service communication. Services communicating by exchanging messages over messaging channels like RabbitMQ.

In this course, you will learn the theory and hand-code of messaging with RabbitMQ, and also introduction to REST API, which is another pillar of microservice architecture.