MuleSoft Certified Integration Architect – Level 1 — Question 24

A Mule application is being designed to do the following:
Step 1: Read a SalesOrder message from a JMS queue, where each SalesOrder consists of a header and a list of SalesOrderLineltems.
Step 2: Insert the SalesOrder header and each SalesOrderLineItem into different tables in an RDBMS.
Step 3: Insert the SalesOrder header and the sum of the prices of all its SalesOrderLineltems into a table in a different RDBMS.
No SalesOrder message can be lost and the consistency of all SalesOrder-related information in both RDBMSs must be ensured at all times.
What design choice (including choice of transactions) and order of steps addresses these requirements?

Answer options

Correct answer: C

Explanation

Option C is the correct choice because it ensures that both database inserts are performed within the same XA transaction, which guarantees the atomicity and consistency of the operations. This prevents the loss of the SalesOrder message and maintains data integrity across both RDBMSs. The other options do not maintain the required consistency or may result in message loss, particularly options A and D which do not use XA transactions effectively.