AbstractRecord that helps us do the last resource commit optimization.
Basically this is something that is used to allow a *single* resource that is
only one-phase aware to be enlisted with a transaction that is usually
two-phase. The way it works is: (i) the coordinator runs its normal first
(prepare) phase on all two-phase aware participants and makes a decision
based solely on their responses as to whether to commit or roll back. Note,
the one-phase aware resource essentially returns voteCommit during prepare,
to ensure that the second phase runs even if all other resources return
voteReadOnly. (ii) if the transaction is to commit then the coordinator
invokes the second phase on *all* participants, starting with the one that is
only one-phase aware. If it rolls back, it rolls all resources back, but the
order is not important.
- Mark Little (email@example.com)
- $Id: LastResourceRecord.java 2342 2006-03-30 13:06:17Z $
- ATS 3.2.
Not allowed to participate in nested transactions.
Object to be used to order.