guava-retrying
guava-retrying copied to clipboard
This is a small extension to Google's Guava library to allow for the creation of configurable retrying strategies for an arbitrary function call, such as something that talks to a remote service with...
This allows lambdas to be used as RetryListeners
Adjust markdown
I'm in (much belated) process of upgrading my company's codebase to `2.0.0`. In doing so, I found that I had to copy-past these class definitions into our code in order...
The generated Maven pom.xml contains a compile dependency on jsr305. This dependency is only needed at compile time, but `compile` will drag it as a runtime dependency. This should be...
I have this requirement where I have around 4 methods all of which need to retry of certain exception. But since the execution sequence of these methods is specified, they...
Please consider catching "Exception | RuntimeException e" instead of Throwable at https://github.com/rholder/guava-retrying/blob/master/src/main/java/com/github/rholder/retry/Retryer.java#L162 not to catch and wrap Error potentially thrown by the called Callable.
A combination between randomWait() and exponentialWait(), as described in http://en.wikipedia.org/wiki/Exponential_backoff , where the exponential wait time is used as the random range. This is how I do it: ``` @Immutable...
``` long sleepTime = waitStrategy.computeSleepTime(attempt); try { blockStrategy.block(sleepTime); } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new RetryException(attemptNumber, attempt); } ``` as you see in the code above, waitStrategy use blockStrategy#block...
``` java public interface RetryListener { void onRetry(Attempt var1); } ``` should be: ``` java public interface RetryListener { void onRetry(Attempt var1); } ``` with this change, withRetryListener would work...