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...
First of all, @rholder thank you for creating/improving this very useful library! Exactly what I'm looking for :) I'd like to suggest improvements: 1. `.retryIfCause(Predicate)` 2. `.retryIfCauseOfType(Class
For thread amount optimization in case of usage many amount of Retryer objects i suggest to consider follow approach: http://gborah.wordpress.com/2011/08/01/timeout-management-using-hashed-timing-wheels/ Most modern implementation of HashedWheelTimer is here - https://github.com/netty/netty/blob/26415b8f4cac2e9e65ea1a3919f4acb8ca687616/common/src/main/java/io/netty/util/HashedWheelTimer.java
Just a suggestion - might be cool to integrate this with Phi-Accrual detector - https://github.com/arosien/failure.
This fixes the render of second-level titles in the README.
Caused by: java.lang.NoClassDefFoundError: com/github/rholder/retry/RetryerBuilder at cn.iocoder.yudao.module.sop.service.xdrstrategyinfo.XdrStrategyInfoServiceImpl.(XdrStrategyInfoServiceImpl.java:114) at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160) at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300) at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:103) at java.base/jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:200) at java.base/java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:549) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:195) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:88) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1313) ......