JMS Client - An application 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. Concept
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. Concept
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.
JMSDestination • JMSDeliveryMode • Persistent • Non-Persistent • JMSExpiration • JMSMessageID • JMSPriority • JMS defines 10 levels of message • priority, zero is the lowest and nine is the highest. JMS Message-Headers
JMSTimestamp • JMSCorrelationID • JMSReplyTo • JMSType • JMSRedelivered JMS Message-Headers
Custom Properties • JMS-Defined Properties • Provider-Specific Properties • Message Selectors JMS Message -Properties
Message • TextMessage • MapMessage • BytesMessage • StreamMessage • ObjectMessage JMS Message-Payload
Point-to-Point • Publish/Subscribe JMS Domains
ActiveMQ acts as the middleman allowing heterogeneous integration and interaction in an asynchronous manner. • ActiveMQis a good solution to introduce loose coupling into an architecture and to provide heterogeneous integration. Why Use ActiveMQ?