What is a global transaction?
Asked Answered
B

1

6

JSR 907 JTA 1.2 defines the "global transaction" term:

The UserTransaction.begin method starts a global transaction and associates the transaction with the calling thread.

What does that mean? Is it the outermost transaction or what?

Borghese answered 27/11, 2014 at 8:11 Comment(0)
S
5

Basically the difference between a local transaction and a global transaction is resource bound. A global transaction will span multiple resources. A local transaction is limited to one resource/datasource.

E.g.

In a global transaction you will write to the DB and send a message over a queue.

This is nicely explained here: http://integrationspot.blogspot.co.uk/2011/03/jta-transactions-local-and-global.html

Global Transactions (XA)

When a managed data source is configured for global transactions, it returns connections that can participate in global transactions. A global transaction (also called a distributed transaction) enlists more than one resource in the transaction.

Global Transactions provide the ability to work with multiple transactional resources (typically relational databases and message queues).

Sennit answered 27/11, 2014 at 8:30 Comment(2)
Integeresting, thanks. I just want to clarify whether JTA is an implemetnation of Open/XA?Borghese
Open/XA is an architecture that defines how global & local transactions will interact. JTA is modeled on this architecture.Sennit

© 2022 - 2024 — McMap. All rights reserved.