class CommitJob extends Job implements TransactionConstants
Job
which interacts with
a set of TransactionParticipant
s to inform them
to roll forward changes associated with a given Transaction
.Job
,
ParticipantTask
,
Transaction
,
TransactionParticipant
Modifier and Type | Field and Description |
---|---|
(package private) ParticipantHandle[] |
handles |
(package private) ClientLog |
log |
(package private) static Logger |
logger |
(package private) static int |
maxtries |
(package private) ServerTransaction |
tr |
ABORTED, ACTIVE, COMMITTED, NOTCHANGED, PREPARED, VOTING
Constructor and Description |
---|
CommitJob(Transaction tr,
java.util.concurrent.ExecutorService pool,
WakeupManager wm,
ClientLog log,
ParticipantHandle[] handles)
Constructs an
CommitJob |
Modifier and Type | Method and Description |
---|---|
(package private) Object |
computeResult()
Gathers partial results submitted by tasks and produces
a single outcome.
|
(package private) Runnable[] |
createTasks()
Creates the
TaskManager.Task s necessary to
inform participants to roll-back. |
(package private) Object |
doWork(Runnable who,
Object param)
The work to be performed by each
TaskManager.Task
is provided by the Job that creates it. |
attempt, getMgr, getPool, isCompleted, performWork, scheduleTasks, stop
final ServerTransaction tr
final ClientLog log
final ParticipantHandle[] handles
static final int maxtries
static final Logger logger
public CommitJob(Transaction tr, java.util.concurrent.ExecutorService pool, WakeupManager wm, ClientLog log, ParticipantHandle[] handles)
CommitJob
tr
- The Transaction
whose participants
will be instructed to roll-forward.pool
- The TaskManager
which provides the
threads used for interacting with participants.log
- The ClientLog
used for recording
recovery data.handles
- The array of participants which will be contacted
and informed to roll-forward.TaskManager
,
ClientLog
,
TransactionParticipant
Object doWork(Runnable who, Object param)
TaskManager.Task
is provided by the Job
that creates it.
The work performed by a task belonging to the CommitJob
contacts a participant, instructs it to roll-forward and
log appropriately.doWork
in class Job
who
- The task performing the workparam
- A parameter, of the task's choosing, useful
in performing work.Job
,
TaskManager.Task
Runnable[] createTasks()
TaskManager.Task
s necessary to
inform participants to roll-back.createTasks
in class Job
Object computeResult() throws JobException
computeResult
in class Job
JobException
Job
Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.