The Large Messaging use case is based on the scenario of end-of-day processing of sales data.
- Messages recording the details of sales through the day are batched together in the store for transmission to the IT center.
- On receipt at the IT center, the batched messages are split into their constituent parts for subsequent processing.
The Large Messaging application process messages that contain repeating structures. It writes each repeating instance of the SaleList structure as a separate WebSphere MQ message while minimising overall memory requirements.
- Message splitting is achieved by using the XMLwithRepeat_to_singleXML_slicer message flow.
- The message flow implements a memory saving technique by using a mutable message tree.
- Each of the individual messages representing a sale has the same structure.
- The input and output messages are implemented as self-defining XML messages.
- Each input message consists of three parts:
- A header, which contains the number of repetitions of the repeating SaleList structure that follows.
- The body, which contains the repetitions of the repeating SaleList structure.
- The trailer, which contains the time the message was processed.
Results per platform
Results for the large message use case can be found for each platform here:
Large Messaging Message Flow
The large messaging message flow performs the following processing:
- Reads a WebSphere MQ message containing an XML payload.
- Formats a WebSphere MQ message for each instance of the SaleList structure.
- Writes the WebSphere MQ messages to the output queue.
- Produces a WebSphere MQ message to signal completion of the processing when the final element has been processed.