BigMemory 4.4.0 | Product Documentation | BigMemory Max Configuration Guide | Working with Transactions | XA (Basic JTA Support)
 
XA (Basic JTA Support)
Transactional caches set to "xa" provide support for basic JTA operations. Configuring and using XA does not differ from using local transactions, except that "xa" mode requires a transaction manager and allows the cache to participate in JTA transactions.
Note:
When using XA with an Atomikos transaction Manager, be sure to set com.atomikos.icatch.threaded_2pc=false in the Atomikos configuration. This helps prevent unintended rollbacks due to a bug in the way Atomikos behaves under certain conditions
For example, the following cache is configured for JTA transactions with XA:
<cache name="com.my.package.Foo"
maxEntriesLocalHeap="500"
eternal="false"
copyOnRead="true"
copyOnWrite="true"
consistency="strong"
transactionalMode="xa">
<persistence strategy="distributed"/>
<terracotta />
</cache>
Any other XA resource that could be involved in the transaction, such as a database, must also be configured to be XA compliant.