Overview
RabbitMQ is an open source message broker system for storing and retrieving messages passed by processes, applications, and servers. Spring is a Java framework. Using Java and Spring with RabbitMQ, users can create complex queues, exchanges, bindings, and more.
This instructor-led, live training (online or onsite) is aimed at software architects and web developers who wish to use RabbitMQ as a messaging middle-ware and program in Java using Spring to build applications.
By the end of this training, participants will be able to:
- Use Java and Spring with RabbitMQ to build applications.
- Design asynchronous message driven systems using RabbitMQ.
- Create and apply queues, topics, exchanges, and bindings in RabbitMQ
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Requirements
- Experience with Java and Spring
Audience
- Software Architects
- Web Developers
Course Outline
Introduction
RabbitMQ Messaging Middle-Ware
- Messaging protocols overview
- AMQP and MQ
Java and Spring Overview
- Spring API
- Dependency injection
Preparing the Development Environment
- Installing and configuring RabbitMQ
- Installing and configuring Java
- Installing and configuring Spring
Development in Java and Spring with RabbitMQ
- Writing code
- Working with JSON
- Creating exchanges, topics, queues, and bindings
- Publishing messages
- Configuring a listener
- Creating RabbitMQ APIs
Error Handling
- Handling consumer expectation with DLX
- Handling consumer expectation without DLX
- Handling expectation with TTL
- Using the retry mechanism for exchanges
- Using the Spring retry mechanism for exchanges
Advanced Spring and RabbitMQ
- Configuring queues with Spring AMQP
- Configuring exchanges with Spring AMQP
- Creating bindings between queues and exchanges
- Using RabbitMQ plugins
- Receiving and processing messages from different applications
Summary and Conclusion