Working with Spring JMS is a one-day, fast-paced coding course geared for experienced developers who have prior working knowledge of Java, Spring, and Spring Boot.
The Java Message Service (JMS) API is a Java message-oriented middleware API. JMS enables communication between two or more clients that are loosely coupled and asynchronous in nature. Spring provides a JMS integration framework that simplifies the use of this API. Not only does Spring provide a JmsTemplate class used for message production and synchronous message consumption, it also provides message listener containers that can be used to create asynchronous messages listeners using Plain Old Java Objects.
Working in a hands-on learning environment, guided by our expert team, attendees will:
- Review the Java Messaging Service (JMS)
- Understand how to leverage the power of Spring Boot to develop JMS applications
- Send and receive JMS messages using Spring JMS
- Discover the Apache ActiveMQ and Apache Artemis message brokers
- Use the JmsTemplate class to send and receive JMS messages
- Understand the configuration of asynchronous message Listeners
- Reply to JMS messages
- Validate the message payload
- Manage JMS transactions
- Explore the advantages of Spring Boot JMS
Need different skills or topics? If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate. We offer additional Java / JEE / Java for Web programming, Spring, Services, REST, TDD / testing, design, application security and other related topics that may be blended with this course for a track that best suits your needs. Our team will collaborate with you to understand your needs and will target the course to focus on your specific learning objectives and goals.
This is an intermediate skill level course designed for experienced Spring developers who wish to get up and running with Spring JMS. Attendees should have a working knowledge of developing Spring and Spring Boot applications.
Please see the Related Courses tab for specific Pre-Requisite courses, Related Courses that offer similar skills or topics, and next-step Learning Path recommendations.
Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most.
Session: Spring JMS
Lesson: JMS Overview
- Introduce the Java Message Service (JMS)
- When can JMS be used?
- Introduce the JMS API
- Explain the difference between: Queues and Topics
- See how to program a producer and consumer of messages
- Know the different message types
Lesson: Introduction to Spring JMS
- Introduction to Spring JMS
- Apache ActiveMQ and Apache Artemis
- Introducing the JmsTemplate
- Spring Boot JMS auto configuration
- Resolving JMS destinations
- Message Converters
- Receiving JMS Messages (Synchronous)
- JMS callback interfaces
- Lab: Spring JMS Producer
- Lab: Setup the Artemis Message Broker
Lesson: Spring JMS Receivers
- Asynchronous message listeners
- MessageListenerContainer and MessageListenerAdapter
- Annotated Listener Endpoints (@JmsListener)
- Discuss the listener method parameters
- Reply to messages (@SendTo)
- Creating a response Message
- Lab: Spring JMS Consumer
Lesson: More Spring JMS
- Programmatic registration of endpoints
- Adding validation to the message payload
- Message Acknowledgement modes
- Acknowledgement in message listeners
- Managing JMS transactions
- Defining and error handler
- Quality of Service properties
- Lab: Spring JMS Acknowledgement
Each student will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and links (as applicable). Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.
Lab Setup Made Simple. All course labs and solutions, data sets, Tableau course software (limited version, for course use only), detailed courseware, lab guides and resources (as applicable) are provided for attendees in our easy access, no installation required, remote lab environment for the duration of the course. Our tech team will help set up, test and verify lab access for each attendee prior to the course start date, ensuring a smooth start to class and successful hands-on course experience for all participants.