Class AppengineSafeRetry


  • @Component
    public final class AppengineSafeRetry
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      AppengineSafeRetry​(java.lang.Integer maxWaitInterval, java.lang.Integer retryIntervalBase, java.lang.Integer jitterMultiplier, java.lang.Integer maxRetries)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <V> V doRetry​(groovy.lang.Closure<V> operation, java.lang.String resource, com.netflix.spinnaker.clouddriver.data.task.Task task, java.util.List<java.lang.Integer> retryCodes, java.util.Map<java.lang.String,​java.lang.String> tags, com.netflix.spectator.api.Registry registry)  
      static AppengineSafeRetry withoutDelay()
      Returns an instance of this class that never waits between retries, suitable for testing.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AppengineSafeRetry

        @Autowired
        @ParametersAreNullableByDefault
        public AppengineSafeRetry​(@Value("${appengine.safe-retry-max-wait-interval-ms:60000}")
                                  java.lang.Integer maxWaitInterval,
                                  @Value("${appengine.safe-retry-retry-interval-base-sec:2}")
                                  java.lang.Integer retryIntervalBase,
                                  @Value("${appengine.safe-retry-jitter-multiplier:1000}")
                                  java.lang.Integer jitterMultiplier,
                                  @Value("${appengine.safe-retry-max-retries:10}")
                                  java.lang.Integer maxRetries)
    • Method Detail

      • withoutDelay

        public static AppengineSafeRetry withoutDelay()
        Returns an instance of this class that never waits between retries, suitable for testing.
        Returns:
        An instance of AppengineSafeRetry
      • doRetry

        @Nullable
        public <V> V doRetry​(groovy.lang.Closure<V> operation,
                             java.lang.String resource,
                             @Nullable
                             com.netflix.spinnaker.clouddriver.data.task.Task task,
                             java.util.List<java.lang.Integer> retryCodes,
                             java.util.Map<java.lang.String,​java.lang.String> tags,
                             com.netflix.spectator.api.Registry registry)