All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.testvagrant.optimuscloud.utils.RetryEngine Maven / Gradle / Ivy

Go to download

The Java Client provides access to Optimus cloud for all java based projects.

The newest version!
package com.testvagrant.optimuscloud.utils;

import org.openqa.selenium.SessionNotCreatedException;
import org.springframework.retry.RetryPolicy;
import org.springframework.retry.backoff.FixedBackOffPolicy;
import org.springframework.retry.policy.SimpleRetryPolicy;
import org.springframework.retry.policy.TimeoutRetryPolicy;
import org.springframework.retry.support.RetryTemplate;
import java.util.HashMap;
import java.util.Map;
import org.springframework.retry.RetryCallback;
import org.springframework.retry.backoff.ExponentialBackOffPolicy;
import org.springframework.retry.policy.SimpleRetryPolicy;
import org.springframework.retry.support.RetryTemplate;
import java.util.HashMap;
import java.util.Map;

public class RetryEngine {

    private RetryTemplate retryTemplate;

    public RetryEngine(int numberOfRetries, Class exceptionToRetry) {
        Map, Boolean> map = new HashMap<>();
        map.put(exceptionToRetry, true);
        retryTemplate = initRetryTemplate(numberOfRetries,map);
    }

    public RetryEngine(Class exceptionToRetry) {
        this(100,exceptionToRetry);
    }

    public RetryEngine(int numberOfRetries, Map, Boolean> exceptionMap) {
        retryTemplate = initRetryTemplate(numberOfRetries,exceptionMap);
    }

    public RetryEngine(Map, Boolean> exceptionMap) {
        this(10,exceptionMap);
    }

    private RetryTemplate initRetryTemplate(int numberOfRetries, Map, Boolean> exceptionMap) {
        RetryTemplate retryTemplate = new RetryTemplate();
        FixedBackOffPolicy fixedBackOffPolicy = new FixedBackOffPolicy();
        fixedBackOffPolicy.setBackOffPeriod(5000);
        retryTemplate.setBackOffPolicy(fixedBackOffPolicy);
        SimpleRetryPolicy simpleRetryPolicy = new SimpleRetryPolicy(numberOfRetries,exceptionMap);
        retryTemplate.setRetryPolicy(simpleRetryPolicy);
        return retryTemplate;
    }

    public void execute(RetryCallback retryCallback) {
        retryTemplate.execute(retryCallback);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy