com.sun.jini.mahalo
Class CommitJob

java.lang.Object
  extended by com.sun.jini.mahalo.Job
      extended by com.sun.jini.mahalo.CommitJob
All Implemented Interfaces:
TransactionConstants

public class CommitJob
extends Job
implements TransactionConstants

An implementation of a Job which interacts with a set of TransactionParticipants to inform them to roll forward changes associated with a given Transaction.

Author:
Sun Microsystems, Inc.
See Also:
Job, ParticipantTask, Transaction, TransactionParticipant

Field Summary
(package private)  ParticipantHandle[] handles
           
(package private)  ClientLog log
           
(package private) static Logger logger
           
(package private)  int maxtries
           
(package private)  ServerTransaction tr
           
 
Fields inherited from class com.sun.jini.mahalo.Job
attempts, results
 
Fields inherited from interface net.jini.core.transaction.server.TransactionConstants
ABORTED, ACTIVE, COMMITTED, NOTCHANGED, PREPARED, VOTING
 
Constructor Summary
CommitJob(Transaction tr, TaskManager pool, WakeupManager wm, ClientLog log, ParticipantHandle[] handles)
          Constructs an CommitJob
 
Method Summary
(package private)  Object computeResult()
          Gathers partial results submitted by tasks and produces a single outcome.
(package private)  TaskManager.Task[] createTasks()
          Creates the TaskManager.Tasks necessary to inform participants to roll-back.
(package private)  Object doWork(TaskManager.Task who, Object param)
          The work to be performed by each TaskManager.Task is provided by the Job that creates it.
 
Methods inherited from class com.sun.jini.mahalo.Job
attempt, getMgr, getPool, isCompleted, performWork, scheduleTasks, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tr

ServerTransaction tr

log

ClientLog log

handles

ParticipantHandle[] handles

maxtries

int maxtries

logger

static final Logger logger
Constructor Detail

CommitJob

public CommitJob(Transaction tr,
                 TaskManager pool,
                 WakeupManager wm,
                 ClientLog log,
                 ParticipantHandle[] handles)
Constructs an CommitJob

Parameters:
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.
See Also:
TaskManager, ClientLog, TransactionParticipant
Method Detail

doWork

Object doWork(TaskManager.Task who,
              Object param)
The work to be performed by each 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.

Specified by:
doWork in class Job
Parameters:
who - The task performing the work
param - A parameter, of the task's choosing, useful in performing work.
See Also:
Job, TaskManager.Task

createTasks

TaskManager.Task[] createTasks()
Creates the TaskManager.Tasks necessary to inform participants to roll-back.

Specified by:
createTasks in class Job

computeResult

Object computeResult()
               throws JobException
Gathers partial results submitted by tasks and produces a single outcome.

Specified by:
computeResult in class Job
Throws:
JobException
See Also:
Job


Copyright 2007-2010, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.