Contact Us 1-800-596-4880

Transactions Configuration Reference

Mule runtime engine version 3.8 reached its End of Life on November 16, 2021. For more information, contact your Customer Success Manager to determine how to migrate to the latest Mule version.
Using Transactions in Flows
This page provides reference information on the elements you can configure for transactions.
For more information on how to configure transactions in flows, see Transaction Management.

Abstract Transaction

A placeholder for transaction elements. Transactions allow a series of operations to be grouped together.

Attributes of <abstract-transaction…​>

Name Description

action

The type of action the transaction should take, one of the following:

NONE - Never participate in a transaction.

ALWAYS_BEGIN - Always start a new transaction when receiving a message. An exception is thrown if a transaction already exists.

BEGIN_OR_JOIN - If a transaction is already in progress when a message is received, join the transaction if possible. Otherwise, start a new transaction.

ALWAYS_JOIN - Always expects a transaction to be in progress when a message is received. If there is no transaction, an exception is thrown.

JOIN_IF_POSSIBLE - Join the current transaction if one is available. Otherwise, no transaction is created.

NOT_SUPPORTED - Execute outside any existent transaction.

Type: enumeration
Required: yes
Default: none

timeout

Timeout for the transaction (ms).

Type: integer
Required: no
Default: none

No Child Elements of <abstract-transaction…​>

Custom Transaction

A user-defined or otherwise unsupported third-party transactions.

Attributes of <custom-transaction…​>

Name Description

action

The type of action the transaction should take, one of the following:

NONE - Never participate in a transaction.

ALWAYS_BEGIN - Always start a new transaction when receiving a message. An exception will be thrown if a transaction already exists.

BEGIN_OR_JOIN - If a transaction is already in progress when a message is received, join the transaction if possible. Otherwise, start a new transaction.

ALWAYS_JOIN - Always expects a transaction to be in progress when a message is received. If there is no transaction, an exception is thrown.

JOIN_IF_POSSIBLE - Join the current transaction if one is available. Otherwise, no transaction is created.

NOT_SUPPORTED - Execute outside any existent transaction.

Type: enumeration
Required: yes
Default: none

timeout

Timeout for the transaction (ms).

Type: integer
Required: no
Default: none

factory-class

A class that implements the TransactionFactory interface to instantiate and use to generate a transaction. This attribute and the 'factory-ref' attribute are mutually exclusive; one of the two is required.

Type: class name
Required: no
Default: none

factory-ref

A bean that implements the TransactionFactory interface to use to generate a transaction. This attribute and the 'factory-class' attribute are mutually exclusive; one of the two is required.

Type: string
Required: no
Default: none

No Child Elements of <custom-transaction…​>

XA Transaction

An XA transaction.

Attributes of <xa-transaction…​>

Name Description

action

The type of action the transaction should take, one of the following:

NONE - Never participate in a transaction.

ALWAYS_BEGIN - Always start a new transaction when receiving a message. An exception is thrown if a transaction already exists.

BEGIN_OR_JOIN - If a transaction is already in progress when a message is received, join the transaction if possible. Otherwise, start a new transaction.

ALWAYS_JOIN - Always expects a transaction to be in progress when a message is received. If there is no transaction, an exception is thrown.

JOIN_IF_POSSIBLE - Join the current transaction if one is available. Otherwise, no transaction is created.

NOT_SUPPORTED - Execute outside any existent transaction.

Type: enumeration
Required: yes
Default: none

timeout

Timeout for the transaction (ms).

Type: integer
Required: no
Default: none

interactWithExternal

If this is set to "true", Mule interacts with transactions begun outside of Mule. For example, if an external transaction is active, then BEGIN_OR_JOIN joins it, and ALWAYS_BEGIN causes an exception to be thrown.

Type: boolean
Required: no
Default: none

No Child Elements of <xa-transaction…​>

WebSphere Transaction Manager

The WebSphere transaction manager.

Attributes of <websphere-transaction-manager…​>

Name Description

name

An optional name for the transaction manager. The default value is "transactionManager".

Type: name (no spaces)
Required: no
Default: transactionManager

No Child Elements of <websphere-transaction-manager…​>

JBoss Transaction Manager

The JBoss transaction manager.

Attributes of <jboss-transaction-manager…​>

Name Description

name

An optional name for the transaction manager. The default value is "transactionManager".

Type: name (no spaces)
Required: no
Default: transactionManager

No Child Elements of <jboss-transaction-manager…​>

Weblogic Transaction Manager

The WebLogic transaction manager.

No Attributes of <weblogic-transaction-manager…​>

Child Elements of <weblogic-transaction-manager…​>

Name Cardinality Description

environment

0..1

The JNDI environment.

JRun Transaction Manager

The JRun transaction manager.

Attributes of <jrun-transaction-manager…​>

Name Description

name

An optional name for the transaction manager. The default value is "transactionManager".

Type: name (no spaces)
Required: no
Default: transactionManager

No Child Elements of <jrun-transaction-manager…​>

Resin Transaction Manager

The Resin transaction manager.

Attributes of <resin-transaction-manager…​>

Name Description

name

An optional name for the transaction manager. The default value is "transactionManager".

Type: name (no spaces)
Required: no
Default: transactionManager

No Child Elements of <resin-transaction-manager…​>

JNDI Transaction Manager

Retrieves a named transaction manager factory from JNDI.

Custom Transaction Manager

A user-implemented transaction manager.

Attributes of <custom-transaction-manager…​>

Name Description

class

The class to instantiate to create a transaction manager.

Type: class name
Required: yes
Default: none

Child Elements of <custom-transaction-manager…​>

Name Cardinality Description

environment

0..1

The JNDI environment.

spring:property

0..*

Spring-style property element for custom configuration.