Class RetryFilter

  • All Implemented Interfaces:
    ElectStateFilter, JobFilter

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

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

         JobRunr.configure()
                     ...
                     .withJobFilter(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​(Job job)
      • getExponentialBackoffPolicy

        protected long getExponentialBackoffPolicy​(Job job,
                                                   int seed)