Comments (4)
Somewhat related, isn't a "generic callable" more like a Runnable
? I would like to have support for giving a Runnable
, but that would probably also require some refactoring to have different types of Retryers.
from guava-retrying.
I think I was thinking more along the lines of RunnableFuture. The idea is that I would like to build a single retryer that works for any number of callables with arbitrary return types. This would probably lose out on the ability to retry on a specific return value. I took a pass at it, but Java's type system (and type erasure) made it really annoying to implement cleanly.
Full disclosure, I no Java expert.
from guava-retrying.
@jalaziz I see. Did you try to use a Callable<Object>
and do type checking of the result? Would that work?
from guava-retrying.
It would, but it sacrifices type safety and is less convenient (having to cast every result would be a pain). It's not that much of a concern anymore, though, as I've started transitioning to Scala where this type of thing is much easier to do.
from guava-retrying.
Related Issues (20)
- Since this project has not been maintained for a long time, I fork this project and fix the problem
- Feature Request: remove final modifier from com.github.rholder.retry.Retryer
- Failed to collect dependencies at com.github.rholder:guava-retrying:jar:2.0.0 HOT 5
- Any interest in a Future's retryer? HOT 2
- The lib is crashing when used in Ratpack (guava-20.0rc1) HOT 4
- Retryer.call should not catch Errors like OOME
- Could I build the Retryer with different executors? HOT 3
- ./gradlew build on macOS Sierra with JDK 1.8 throwing a Java compile error HOT 3
- is there a way to make it log what it's doing? HOT 3
- Is there a way to do this on something that is not a callable? HOT 5
- artifact has a compile time dependency on jsr305
- RetryerBuilder having protected constructor HOT 2
- Project appears to be dead: it has been forked to rhuffman/re-retrying HOT 1
- Initial wait time in an exponential retry strategy. HOT 3
- When i should use Fibonacci WaitStrategy
- When I run demo , when successNum coming my process can not exit immediately
- WaitStrategies documentation should mention milliseconds
- The problem with 'AttemptTimeLimiters.fixedTimeLimit' HOT 2
- doubts about SimpleTimeLimiter has private Constructor,but FixedAttemptTimeLimit new it?
- Bug: StopStrategies&StopStrategies will throw unformatted message HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from guava-retrying.