What is JMS ( Java Messaging Service )
The Java Message Service (JMS) moved beyond vender-centric MOM APIs to provide an API for enterprise messaging. JMS aims to provide a standardized API
to send and receive messages using the Java programming language in a vendor-neutral manner.
JMS is not itself a MOM. It is an API that abstracts the interaction between messaging clients and MOMs in the same manner that JDBC abstracts
communication with relational databases.
- JMS client —An application is written using 100% pure Java to send and receive messages.
- Non-JMS client —An application is written using the JMS provider’s native client API to send and receive messages instead of JMS.
- JMS producer —A client application that creates and sends JMS messages.
- JMS consumer—A client application that receives and processes JMS messages.
- JMS provider—The implementation of the JMS interfaces, which is ideally written in 100% pure Java.
- JMS message—The most fundamental concept of JMS; sent and received by JMS clients.
- JMS domains—The two styles of messaging that include point-to-point and publish/subscribe.
- Administered objects —Preconfigured JMS objects that contain provider-specific configuration data for use by clients. These objects are typically accessible by clients via JNDI.
- Connection factory—Clients use a connection factory to create connections to the JMS provider.
- Destination—An object to which messages are addressed and sent and from which messages are received.