com.sun.sgs.impl.kernel.schedule
Class ImmediateRetryPolicy

java.lang.Object
  extended by com.sun.sgs.impl.kernel.schedule.ImmediateRetryPolicy
All Implemented Interfaces:
SchedulerRetryPolicy

public class ImmediateRetryPolicy
extends Object
implements SchedulerRetryPolicy

A simple retry "in place" SchedulerRetryPolicy. This SchedulerRetryPolicy always causes a task that throws a retryable exception to retry immediately. This class supports the following configuration properties:

Property: "com.sun.sgs.impl.kernel.schedule.retry.warning.threshold"
Default: 25
If a task has been retried a multiple of times equal to the value of this property, then a WARNING message will be logged as feedback to the user. This value must be greater than or equal to 1.


Field Summary
(package private) static int DEFAULT_RETRY_WARNING_THRESHOLD
          The default retry warning threshold
(package private) static String RETRY_WARNING_THRESHOLD_PROPERTY
          The property used to define the retry count threshold to use before printing a WARNING message.
 
Constructor Summary
ImmediateRetryPolicy(Properties properties)
          Constructs an ImmediateRetryPolicy.
 
Method Summary
 SchedulerRetryAction getRetryAction(ScheduledTask task)
          Determines if and how a task should be retried after a failure.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RETRY_WARNING_THRESHOLD_PROPERTY

static final String RETRY_WARNING_THRESHOLD_PROPERTY
The property used to define the retry count threshold to use before printing a WARNING message.

See Also:
Constant Field Values

DEFAULT_RETRY_WARNING_THRESHOLD

static final int DEFAULT_RETRY_WARNING_THRESHOLD
The default retry warning threshold

See Also:
Constant Field Values
Constructor Detail

ImmediateRetryPolicy

public ImmediateRetryPolicy(Properties properties)
Constructs an ImmediateRetryPolicy.

Parameters:
properties - the system properties available
Method Detail

getRetryAction

public SchedulerRetryAction getRetryAction(ScheduledTask task)
Determines if and how a task should be retried after a failure. This method should be called by a scheduler if a task aborts. This method may modify the given task in order to affect how the scheduler behaves when re-executing.

Note: The Throwable cause of the most recent failure of the given task should always be accessible via the ScheduledTask.getLastFailure() method. This Throwable may implement ExceptionRetryStatus. If it does, care should be taken to abide by the contract specified by the TaskManager with regard to Throwables that implement this interface.

Note: The proper way to drop a task with a custom policy is to return DROP with this method. Implementations should not use a call to cancel on the given task.

Specified by:
getRetryAction in interface SchedulerRetryPolicy
Parameters:
task - the task that has been aborted
Returns:
the SchedulerRetryAction that the scheduler should take with respect to retrying the given task

RedDwarf, Version 0.10.1
2010-03-14 10:56:12

Copyright © 2010 The RedDwarf Authors. All rights reserved
Copyright © 2007-2010 Sun Microsystems, Inc. All rights reserved