tech.msop.core.http.RetryPolicy Maven / Gradle / Ivy
The newest version!
package tech.msop.core.http;
import lombok.Getter;
import lombok.ToString;
import org.springframework.retry.policy.SimpleRetryPolicy;
import javax.annotation.Nullable;
import java.util.function.Predicate;
/**
* 重试策略
*
* @author ruozhuliufeng
*/
@Getter
@ToString
public class RetryPolicy {
public static final RetryPolicy INSTANCE = new RetryPolicy();
private final int maxAttempts;
private final long sleepMillis;
@Nullable
private final Predicate respPredicate;
public RetryPolicy() {
this(null);
}
public RetryPolicy(int maxAttempts, long sleepMillis) {
this(maxAttempts, sleepMillis, null);
}
public RetryPolicy(@Nullable Predicate respPredicate) {
this(SimpleRetryPolicy.DEFAULT_MAX_ATTEMPTS, 0L, respPredicate);
}
public RetryPolicy(int maxAttempts, long sleepMillis, @Nullable Predicate respPredicate) {
this.maxAttempts = maxAttempts;
this.sleepMillis = sleepMillis;
this.respPredicate = respPredicate;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy