JMS Architecture
  • Share this blog:

JMS Architecture jms-architecture

JMS clients are the programs (possibly external) or components, written in the Java programming language, that produce and consume messages. Any Java EE application component can act as a JMS client.

A JMS provider is a messaging system that implements the JMS interfaces and provides administrative and control features. JBoss Messaging is such provider.

Messages are the objects that communicate information between JMS clients.

Administered objects are preconfigured JMS objects created by an administrator for the use of clients:

Connection Factories


  Point to Point point-to-point

A sender (producer) sends a message addressed to a specific queue

A receiver (consumer) consumes the message from the queue established to hold its messages

Queues retain all messages sent to them until the messages are consumed or until the messages expire

Each message has only one consumer

A sender and a receiver of a message have no timing dependencies. The receiver can fetch the message whether or not it was running when the client sent the message

The receiver acknowledges the successful processing of a message

Learn the core features of JBOSS Traning and become master with our expertise tutorials.

Publish and Subscribe publish-subscribe

Publisher clients publish messages to one or more message topics

Subscriber clients subscribe to one or more message topics and receive messages when they are sent to them

The topics hold the messages as long as it takes to deliver them to all currently subscribed clients

Each message can have multiple consumers

Publishers and subscribers have a timing dependency. A client that subscribes to a topic can consume only messages published after the client has created a subscription, and the subscriber must continue to be active in order for it to consume messages (unless it holds a durable subscription)

  JMS Message Consumption

Synchronous: A subscriber or a receiver explicitly fetch the message from the destination by calling the blocking receive method (with support for timeouts)

Asynchronous: A client can register a message listener with a consumer. Whenever a message arrives at the destination, the JMS provider delivers the message by calling the listener’s onMessage method, which acts on the contents of the message

For indepth understanding on JBoss click on:

You liked the article?

Like : 0

Vote for difficulty

Current difficulty (Avg): Medium

Recommended Courses


About Author
Author Bio

TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.

Stay Updated

Get stories of change makers and innovators from the startup ecosystem in your inbox