Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.jini.thread
Class RetryTask

    java.lang.Object
      com.sun.jini.thread.RetryTask

All Implemented Interfaces:
  Runnable, TaskManager.Task, com.sun.jini.constants.TimeConstants

public abstract class RetryTask
extends Object
implements TaskManager.Task, com.sun.jini.constants.TimeConstants

Field Summary

Fields inherited from interface com.sun.jini.constants.TimeConstants
`DAYS, HOURS, MINUTES, SECONDS`

Constructor Summary
`RetryTask(TaskManager manager, WakeupManager wakeupManager)` Create a new `RetryTask` that will be scheduled with the given task manager, and which will perform retry scheduling using the given wakeup manager.

Method Summary
`int` | `attempt()` Return the attempt number, starting with zero.
`void` | `cancel()` Cancel the retrying of the task.
`boolean` | `cancelled()` Return `true` if `cancel` has been invoked.
`boolean` | `complete()` Return `true` if `tryOnce` has returned successfully.
`void` | `reset()` Reset values for a new use of this task.
`long` | `retryTime()` Return the next time at which we should make another attempt.
`void` | `run()` The `run` method used as a `TaskManagerTask`.
`long` | `startTime()` Return the time this task was created, or the last time `reset` was called.
`abstract boolean` | `tryOnce()` Make a single attempt.
`boolean` | `waitFor()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.sun.jini.thread.TaskManager.Task
`runAfter`

Constructor Detail

### RetryTask

    public RetryTask(TaskManager manager,
                     WakeupManager wakeupManager)

  Create a new `RetryTask` that will be scheduled with the given task manager, and which will perform retry scheduling using the given wakeup manager.

Method Detail

### tryOnce

    public abstract boolean tryOnce()

  Make a single attempt. Return `true` if the attempt was successful. If the attempt is not successful, the task will be scheduled for a future retry.

### run

    public void run()

  The `run` method used as a `TaskManagerTask`. This invokes `tryOnce`. If it is not successful, it schedules the task for a future retry at the time it gets by invoking `retryTime`.

  Specified by:
    `run` in interface `Runnable`
  See Also:
    `tryOnce()`, `startTime()`

### retryTime

    public long retryTime()

  Return the next time at which we should make another attempt. This is not an interval, but the actual time.

  The implementation is free to do as it pleases with the policy here. The default implementation is to delay using intervals of 1 second, 5 seconds, 10 seconds, 1 minute, and 1 minute between attempts, and then retrying every five minutes forever.

  The default implementation assumes it is being called from the default `run` method and that the current thread holds the lock on this object. If the caller does not own the lock the result is undefined and could result in an exception.

### startTime

    public long startTime()

  Return the time this task was created, or the last time `reset` was called.

### attempt

    public int attempt()

  Return the attempt number, starting with zero.

### cancel

    public void cancel()

  Cancel the retrying of the task. This ensures that there will be no further attempts to invoke `tryOnce`. It will not interfere with any ongoing invocation of `tryOnce` unless a subclass overrides this to do so. Any override of this method should invoke `super.cancel()`.

### cancelled

    public boolean cancelled()

  Return `true` if `cancel` has been invoked.

### complete

    public boolean complete()

  Return `true` if `tryOnce` has returned successfully.

### waitFor

    public boolean waitFor()
                    throws InterruptedException

  Throws:
    `InterruptedException`

### reset

    public void reset()

  Reset values for a new use of this task.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 Sun Microsystems, Inc. All rights reserved