Spring provides a JMS integration framework that simplifies the use of the JMS API much like Spring’s integration does for the JDBC API.
JMS (Java Message Service) is an API that provides the facility to create, send and read messages. It provides loosely coupled, reliable and asynchronous communication.
JMS is also known as a messaging service. Messaging is a technique to communicate applications or software components.
JMS is mainly used to send and receive message from one application to another.
Spring provides a number of message listener containers that are used to create Message-Driven POJOs (MDPs). Spring also provides a declarative way of creating message listeners.
The package org.springframework.jms.core provides the core functionality for using JMS. It contains JMS template classes that simplify the use of the JMS by handling the creation and release of resources, much like the JdbcTemplate does for JDBC.
The package org.springframework.jms.support provides JMSException translation functionality.
The package org.springframework.jms.support.converter provides a MessageConverter abstraction to convert between Java objects and JMS messages.
The package org.springframework.jms.support.destination provides various strategies for managing JMS destinations, such as providing a service locator for destinations stored in JNDI.
The package org.springframework.jms.annotation provides the necessary infrastructure to support annotation-driven listener endpoints using @JmsListener.
The package org.springframework.jms.config provides the parser
implementation for the jms namespace as well the java config support to
configure listener containers and create listener endpoints.
Finally, the package org.springframework.jms.connection provides an implementation of the ConnectionFactory suitable for use in standalone applications.