public SagaResponse apply()

in saga-core/src/main/java/org/apache/servicecomb/saga/core/FallbackPolicy.java [33:45]


  public SagaResponse apply(String address, Compensation compensation, Fallback fallback) {
    for (int i = 0; isRetryable(i, compensation) && !isInterrupted(); i++) {
      try {
        return compensation.send(address);
      } catch (Exception e) {
        log.error("Failed to send compensation to {}", address, e);
        sleep(retryDelay);
      }
    }

    log.warn("Falling back after {} failures sending compensation to {}", compensation.retries(), address);
    return fallback.send(address);
  }