Annotation Type Retry



  • @Inherited
    @Documented
    @Retention(RUNTIME)
    @Target({METHOD,TYPE})
    @InterceptorBinding
    public @interface Retry
    The Retry annotation to define the number of the retries and the fallback method on reaching the retry counts. Any invalid config value causes FaultToleranceDefinitionException.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.Class<? extends java.lang.Throwable>[] abortOn  
      long delay
      The delay between retries.
      java.time.temporal.ChronoUnit delayUnit  
      java.time.temporal.ChronoUnit durationUnit  
      long jitter
      Set the jitter to randomly vary retry delays for.
      java.time.temporal.ChronoUnit jitterDelayUnit  
      long maxDuration
      The max duration.
      int maxRetries  
      java.lang.Class<? extends java.lang.Throwable>[] retryOn  
    • Element Detail

      • maxRetries

        int maxRetries
        Returns:
        The max number of retries. -1 means retry forever. The value must be greater than or equal to -1.
        Default:
        3
      • delay

        long delay
        The delay between retries. Defaults to 0. The value must be greater than or equal to 0.
        Returns:
        the delay time
        Default:
        0L
      • delayUnit

        java.time.temporal.ChronoUnit delayUnit
        Returns:
        the delay unit
        Default:
        java.time.temporal.ChronoUnit.MILLIS
      • maxDuration

        long maxDuration
        The max duration. The max duration must be greater than the delay duration if set. 0 means not set.
        Returns:
        the maximum duration to perform retries for.
        Default:
        180000L
      • durationUnit

        java.time.temporal.ChronoUnit durationUnit
        Returns:
        the duration unit
        Default:
        java.time.temporal.ChronoUnit.MILLIS
      • jitter

        long jitter
        Set the jitter to randomly vary retry delays for. The value must be greater than or equals to 0. 0 means not set.
        Returns:
        the jitter that randomly vary retry delays by. e.g. a jitter of 200 milliseconds will randomly add between -200 and 200 milliseconds to each retry delay.
        Default:
        200L
      • jitterDelayUnit

        java.time.temporal.ChronoUnit jitterDelayUnit
        Returns:
        the jitter delay unit.
        Default:
        java.time.temporal.ChronoUnit.MILLIS
      • retryOn

        java.lang.Class<? extends java.lang.Throwable>[] retryOn
        Returns:
        Specify the failure to retry on. Only a type assignable from Error or Exception can be specified. Specifying a custom java.lang.Throwable will be ignored.
        Default:
        {java.lang.Exception.class}
      • abortOn

        java.lang.Class<? extends java.lang.Throwable>[] abortOn
        Returns:
        Specify the failure to abort on. Only a type assignable from Error or Exception can be specified. Specifying a custom java.lang.Throwable will be ignored.
        Default:
        {}