Class RetryFilter

  • All Implemented Interfaces:
    ElectStateFilter, TaskFilter

    public class RetryFilter
    extends Object
    implements ElectStateFilter
    A TaskFilter of type ElectStateFilter that will retry the task if it fails for up to 10 times with an exponential back-off policy. This TaskFilter is added by default in Carrot.

    If you want to configure the amount of retries, create a new instance and pass it to the CarrotConfiguration, e.g.:

         Carrot.configure()
                     ...
                     .withTaskFilter(new RetryFilter(20, 4)) // this will result in 20 retries and the retries will happen after 4 seconds, 16 seconds, 64 seconds, ...
                     ...
                     .initialize();
     
    • Field Detail

      • DEFAULT_BACKOFF_POLICY_TIME_SEED

        public static final int DEFAULT_BACKOFF_POLICY_TIME_SEED
        See Also:
        Constant Field Values
    • Constructor Detail

      • RetryFilter

        public RetryFilter()
      • RetryFilter

        public RetryFilter​(int numberOfRetries)
      • RetryFilter

        public RetryFilter​(int numberOfRetries,
                           int backOffPolicyTimeSeed)
    • Method Detail

      • getSecondsToAdd

        protected long getSecondsToAdd​(Task task)
      • getExponentialBackoffPolicy

        protected long getExponentialBackoffPolicy​(Task task,
                                                   int seed)