com.sun.jini.mahalo
Class PrepareJob

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

public class PrepareJob
extends Job
implements TransactionConstants

An implementation of a com.sun.jini.mahalo.Job which interacts with a set of net.jini.core.transaction.server.TransactionParticipants to inform them to vote.

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

Field Summary
(package private)  ParticipantHandle[] handles
           
(package private)  ClientLog log
           
(package private)  int maxtries
           
private static Logger operationsLogger
          Logger for operations related messages
private static Logger persistenceLogger
          Logger for persistence related messages
(package private)  ServerTransaction tr
           
 
Fields inherited from class com.sun.jini.mahalo.Job
attempts, logger, results
 
Fields inherited from interface net.jini.core.transaction.server.TransactionConstants
ABORTED, ACTIVE, COMMITTED, NOTCHANGED, PREPARED, VOTING
 
Constructor Summary
PrepareJob(Transaction tr, TaskManager pool, WakeupManager wm, ClientLog log, ParticipantHandle[] handles)
          Constructs an PrepareJob
 
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 vote.
(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

operationsLogger

private static final Logger operationsLogger
Logger for operations related messages


persistenceLogger

private static final Logger persistenceLogger
Logger for persistence related messages

Constructor Detail

PrepareJob

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

Parameters:
tr - The Transaction whose participants will be instructed to vote
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 vote
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 AbortJob contacts a participant, instructs it to vote 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 vote.

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.