XA Transaction
The XA Transaction type allows you to specify an XA-compliant transaction manager provided by a third party that supports the interfaces javax.transaction.TransactionManager
and javax.transaction.Transaction
. The following XA-compliant transaction managers have been tested with ActiveMatrix BusinessWorks:
-
TIBCO BusinessWorks XA Transaction Manager 1.0
-
Arjuna Transaction Service 4.0
-
Java Open Transaction Manager (JOTM) 1.5.3 (this transaction manager does not support transaction recovery)
The XA Transaction type allows JDBC activities, ActiveEnterprise Adapter activities that use the JMS transport, and JMS activities to participate in transactions. Transactions across multiple databases are also supported. Also, if your process engine is configured to use a database for storage of process engine data, checkpoints can participate in an XA Transaction.
The transaction manager is typically executed in the same Java VM as ActiveMatrix BusinessWorks. Because of this, for third-party transaction managers, the path to the files needed to run the transaction manager must be placed in the ActiveMatrix BusinessWorks classpath in the bwengine.tra
and designer.tra
files. For the TIBCO BusinessWorks XA Transaction Manager, configuration occurs during product installation.
If the transaction commits, all eligible activities in the transaction group commit. If the transaction rolls back, all eligible activities in the transaction group roll back. The transaction group commits automatically if all activities in the group complete and a non-error transition is taken out of the transaction group. If any errors occur while processing the activities in the group, even errors in activities that do not participate in the transaction, the transaction is rolled back and an error is returned. You should have an error transition out of the group to handle this situation.