What is "jms"
JMS formally defines a group of interfaces and semantics that allow applications written in Java to access the services of any Message-Oriented Middleware (MOM). MOM is a middleware that promotes the integration of intra- and inter-corporate message exchange operations, enabling business elements to be exchanged in a fully reliable way.
Elements of the JMS API
- Client JMS: A Java application or object that produces and consumes messages. Messages are objects that contain the data that is transferred between JMS clients.
- Connection JMS: Once a Factory is obtained, connections to the JMS provider can be created. A connection represents the connection between the client application and the server application. Depending on the type of connection, it will allow customers to create sessions for sending and receiving queue or topic messages.
- Factory of JMS connections: It is an administered object that the client application uses to create connections to the JMS provider. Usually clients get the Factories through interfaces portable, thus, even if the JMS provider settings change, the client code remains unchanged.
- Fate: It is an administered object that encapsulates the identity of the destination of the messages, which is where the messages are sent and consumed. It can be a queue or a topic. The JMS administrator creates these objects, and users get them through JNDI searches.
- Consumer: An object created through a JMS session. It receives messages from a destination. The consumer may receive messages synchronously or asynchronously from queues or topics.
- Producer: An object created through a JMS session. It sends messages to a destination.
- Messages: Are objects sent between consumers and message producers.
- Ombudsman JMS: Represents an interface to a message-oriented middleware software. It supports the JMS interface that is specified by Sun Microsystems. He’s basically an adapter of a middleware.
- Software that supports JMS: In order for an application to use JMS, there must be a provider that can manage sessions and queues. There are business and free options.
Link to documentation: Link