import com.github.rholder.retry.Retryer; import com.github.rholder.retry.RetryerBuilder; import com.github.rholder.retry.StopStrategies; import com.github.rholder.retry.WaitStrategies; import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; public class Main { public static void main(String[] args) { Callable<Boolean> callable = () -> { return true; }; CallableRetryer<Boolean> callableRetryer = new CallableRetryer<>(callable); Retryer<Boolean> retryer = RetryerBuilder.<Boolean>newBuilder() .retryIfResult(result -> result == false) .withWaitStrategy(WaitStrategies.debounce(500, TimeUnit.MILLISECONDS)) .withStopStrategy(StopStrategies.stopAfterAttempt(3)) .build(); try { Callable<Boolean> debouncedCallable = Debounce.debounce(callableRetryer, retryer); debouncedCallable.call(); } catch (Exception e) { e.printStackTrace(); } } }


上一篇:
下一篇:
切换中文