|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
TwoPhaseCommitEvent reflects an event in a two-phase-commit transaction.
Together with events defined in TransactionalEvent, the lifecycle
of a transaction (and therefore the sequence of related transactional
events) is as follows:
Notes:
BEFORE_COMPLETION
if (commit() is requested) {
if (number_of_commit_listeners = 1) {
BEFORE_ONE_PHASE_COMMIT
ONE_PHASE_COMMIT
AFTER_ONE_PHASE_COMMIT
}
if (number_of_commit_listners > 1) {
BEFORE_PREPARE
PREPARE
AFTER_PREPARE
if (prepare_vote == VOTE_YES) {
BEFORE_COMMIT
COMMIT
AFTER_COMMIT
}
if (prepare_vore == VOTE_NO) {
BEFORE_ABORT
ABORT
AFTER_ABORT
}
if (prepare_vote == VOTE_READ_ONLY) {
BEFORE_COMMIT
COMMIT
AFTER_COMMIT
}
}
}
if (abort() is requested) {
BEFORE_ABORT
ABORT
AFTER_ABORT
}
AFTER_COMPLETION
TwoPhaseCommitEvent event types is allowed.
TYPE_PREPARE and
TYPE_COMMIT listeners. However, individual
TwoPhaseCommitEvent event source implementations can prevent
registration to individual TYPE_PREPARE and
TYPE_COMMIT events by allowing to register only to events
that are composed of such events
(e.g., the TYPE_TWO_PHASE_COMMIT event type).
TYPE_TWO_PHASE_COMMIT
which comprises the
TYPE_PREPARE,
TransactionalEvent.TYPE_COMMIT,
TYPE_ONE_PHASE_COMMIT,
and TransactionalEvent.TYPE_ABORT events,
or TYPE_SYNCHRONIZATION
which comprises the
TransactionalEvent.TYPE_BEFORE_COMPLETION and
TransactionalEvent.TYPE_AFTER_COMPLETION events.
| Field Summary | |
static int |
TYPE_AFTER_ONE_PHASE_COMMIT
After-one-phase-commit event. |
static int |
TYPE_AFTER_PREPARE
After-prepare event. |
static int |
TYPE_BEFORE_ONE_PHASE_COMMIT
Before-one-phase-commit event. |
static int |
TYPE_BEFORE_PREPARE
Before-prepare event. |
static int |
TYPE_ONE_PHASE_COMMIT
One-phase-commit event. |
static int |
TYPE_PREPARE
Prepare event. |
static int |
TYPE_SYNCHRONIZATION
Synchronization events. |
static int |
TYPE_TWO_PHASE_COMMIT
One of the two-phase-commit events. |
| Fields inherited from interface org.objectweb.jotm.core.transaction.TransactionalEvent |
TYPE_ABORT, TYPE_AFTER_ABORT, TYPE_AFTER_COMMIT, TYPE_AFTER_COMPLETION, TYPE_BEFORE_ABORT, TYPE_BEFORE_COMMIT, TYPE_BEFORE_COMPLETION, TYPE_COMMIT |
| Methods inherited from interface org.objectweb.jotm.core.transaction.TransactionalEvent |
getTransaction, getType |
| Field Detail |
public static final int TYPE_PREPARE
public static final int TYPE_BEFORE_PREPARE
public static final int TYPE_AFTER_PREPARE
public static final int TYPE_BEFORE_ONE_PHASE_COMMIT
public static final int TYPE_ONE_PHASE_COMMIT
public static final int TYPE_AFTER_ONE_PHASE_COMMIT
public static final int TYPE_TWO_PHASE_COMMIT
TYPE_PREPARE, TransactionalEvent.TYPE_COMMIT,
TYPE_ONE_PHASE_COMMIT, and TransactionalEvent.TYPE_ABORT events.
public static final int TYPE_SYNCHRONIZATION
TransactionalEvent.TYPE_BEFORE_COMPLETION and TransactionalEvent.TYPE_AFTER_COMPLETION events.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||