JMS Messaging with Transactions
JMS Transactions with ActiveMQ

Use Case Description

The Umbriel Travels Ltd. is a travel agency which arranges accommodations for tourists in South Asia region. The Umbriel Travels exposes an online portal for their customers to book hotels and these booking details are sent to a backend JMS queue from the online portal in a JSON format.

The actual legacy booking services in the backend only accepts XML format messages and emits confirmation messages in XML format as well. Umbriel Travels wants to convert the received JSON messages into XML and vice versa without loosing any messages in between.

Further, they want to send the original JSON message to a another JMS queue for auditing purpose.

Proposed Solution

Umbriel Travels has decided to integrate the backend booking server through an ESB and delegate the message transformation logic to the ESB. Following diagram depicts the overall architecture of the design. In-order to guarantee that there is no message loss, due to errors in message transformation, JMS transactions have been used. For this implementation, they have decided to use ActiveMQ as the JMS provider.
Version 17.07
Vendor AdroitLogic
Difficulty Introductory

External documentation for this sample project

Source Code
Full source code of this sample project

Contact Us