
com.testvagrant.optimuscloud.utils.RetryEngine Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-client Show documentation
Show all versions of java-client Show documentation
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 extends Throwable> exceptionToRetry) {
Map, Boolean> map = new HashMap<>();
map.put(exceptionToRetry, true);
retryTemplate = initRetryTemplate(numberOfRetries,map);
}
public RetryEngine(Class extends Throwable> 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