# Single-resource and XA transactions in Mule

*MuleSoft Platform Integration Architect Study Guide · Designing integration solutions to meet reliability requirements · Last updated November 13, 2026 · https://www.certifyforce.com/study-guide/mulesoft-platform-integration-architect/designing-integration-solutions-to-meet-reliability-requirements/single-resource-and-xa-transactions-in-mule*

Choose Single Resource or XA transactions from the resources and configurations involved, set transactional actions on sources, Try scopes and operations, configure XA on JMS, Database and VM with a transaction manager, and predict how error handlers and scopes change commit, rollback and threading inside a transaction.

- Certification: Salesforce MuleSoft Platform Integration Architect
- Exam section: Designing integration solutions to meet reliability requirements
- Study guide: https://www.certifyforce.com/study-guide/mulesoft-platform-integration-architect

**Official exam objective:**

> Design Mule applications and integration solutions using local and XA transactions for all Mule connectors that support them.

## What the exam expects

- Choose Single Resource or XA from the connectors and global configurations that must commit together.
- Set the transactional action on a source, a Try scope or an operation, and know which component can begin a transaction.
- Configure XA for JMS, Database and VM, with a transaction manager that can recover interrupted two-phase commits.
- Predict commit or rollback from the error handler type and the component that began the transaction.
- Recognize how Async, Parallel For Each, Scatter-Gather and Flow Reference behave inside a transaction.

**Single Resource (local) transaction**: a transaction over one resource, such as a JMS broker, VM queues or a JDBC connection. **XA transaction**: a global transaction that groups operations from several transactional resources with two-phase commit (2PC). **Transactional action**: the `transactionalAction` setting that says whether a component begins, joins or ignores a transaction. **Transaction manager**: the component that coordinates the prepare and commit phases across XA resources ([Single Resource Transactions](https://docs.mulesoft.com/mule-runtime/latest/single-resource-transaction), [XA Transactions](https://docs.mulesoft.com/mule-runtime/latest/xa-transactions), [Transaction Management](https://docs.mulesoft.com/mule-runtime/latest/transaction-management)).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Default transaction type | Single Resource (Local). | [Transaction Management](https://docs.mulesoft.com/mule-runtime/latest/transaction-management) |
| Who defines the type | Event sources and the Try scope only. | [Transaction Management](https://docs.mulesoft.com/mule-runtime/latest/transaction-management) |
| Local join rule | Same connector, same `config-ref`. | [Transaction Management](https://docs.mulesoft.com/mule-runtime/latest/transaction-management) |
| Nested transactions | XA only. | [Single Resource Transactions](https://docs.mulesoft.com/mule-runtime/latest/single-resource-transaction) |
| Transaction timeout | `30000` ms default; `defaultTransactionTimeout`. | [Transaction Management](https://docs.mulesoft.com/mule-runtime/latest/transaction-management) |
| Bitronix XA timeout | `mule.bitronix.transactiontimeout`, 60 seconds. | [Using Bitronix to Manage Transactions](https://docs.mulesoft.com/mule-runtime/latest/using-bitronix-to-manage-transactions) |
| XA-documented connectors | JMS, IBM MQ, VM, Database. | [XA Transactions](https://docs.mulesoft.com/mule-runtime/latest/xa-transactions) |
| JMS Connector 2.0 XA | Dedicated XA connection type; Mule 4.10.0 or later, newer than the Spring '24 baseline. | [Configuring XA Transactions in JMS Connector](https://docs.mulesoft.com/jms-connector/latest/jms-xa-transactions) |
| On Error Continue | Transaction stays active and can commit. | [Transaction Management](https://docs.mulesoft.com/mule-runtime/latest/transaction-management) |
| Async in a transaction | Runs outside it; no rollback on its errors. | [Transaction Management](https://docs.mulesoft.com/mule-runtime/latest/transaction-management) |

## Check yourself

- Why does a transaction manager need a recovery process for XA transactions?
- When does Mule run XA transaction recovery?
- Why must `mule.bitronix.serverId` differ between Mule instances?
- What unit and default does `mule.bitronix.transactiontimeout` use?

## Sources

- [Transaction Management](https://docs.mulesoft.com/mule-runtime/latest/transaction-management)
- [XA Transactions](https://docs.mulesoft.com/mule-runtime/latest/xa-transactions)
- [Single Resource Transactions](https://docs.mulesoft.com/mule-runtime/latest/single-resource-transaction)
- [Configuring XA Transactions in JMS Connector](https://docs.mulesoft.com/jms-connector/latest/jms-xa-transactions)
- [Using XA Transactions in Database Connector](https://docs.mulesoft.com/db-connector/latest/database-connector-xa-transactions)
- [Using Bitronix to Manage Transactions](https://docs.mulesoft.com/mule-runtime/latest/using-bitronix-to-manage-transactions)
- [Transactions (Mule SDK)](https://docs.mulesoft.com/mule-sdk/latest/transactions)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 5 linked practice questions, and unlimited timed mock exams are included with the MuleSoft Platform Integration Architect pack (USD $19): https://www.certifyforce.com/practice-exams
