com.alarmpoint.integrationagent.exceptions.retriable
Class MaxTimeRetryPolicy

java.lang.Object
  extended by com.alarmpoint.integrationagent.exceptions.retriable.AbstractRetryPolicy
      extended by com.alarmpoint.integrationagent.exceptions.retriable.MaxTimeRetryPolicy
All Implemented Interfaces:
DelayPolicy, RetryPolicy

public class MaxTimeRetryPolicy
extends AbstractRetryPolicy

A retry policy that enforces a maximum elapsed time for retries and a customizable delay between attempts.


Constructor Summary
MaxTimeRetryPolicy(long maxElapsedMillis, DelayPolicy delayPolicy)
          Default constructor.
 
Method Summary
 boolean isRetriable(int numAttempts, long firstAttemptTimestamp)
          Determines whether a retry should be attempted.
 
Methods inherited from class com.alarmpoint.integrationagent.exceptions.retriable.AbstractRetryPolicy
getDelay
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MaxTimeRetryPolicy

public MaxTimeRetryPolicy(long maxElapsedMillis,
                          DelayPolicy delayPolicy)
Default constructor.

Parameters:
maxElapsedMillis - - the maximum time (in milliseconds) that can elapse between the first attempt and subsequent retries; must be > 0
delayPolicy - - the policy for computing delays between attempts; must be non-null
Method Detail

isRetriable

public boolean isRetriable(int numAttempts,
                           long firstAttemptTimestamp)
Determines whether a retry should be attempted.

Parameters:
numAttempts - - the number of previous attempts (including first attempt and previous retries); assumed to be >= 1
firstAttemptTimestamp - - the timestamp (milliseconds since epoch) of the first attempt to process the message; may be < 0 if information not available
Returns:
true if a retry should be attempted; otherwise, false