Tascalate Concurrent 0.7.0 (Java 9+ support / Promises.retry refactoring)
The release contains both important bug fixing and important refactorings:
- Promise.orTimeout was fixed (previously no cancellation on timeout)
- Promise.delay was fixed (previously no delay on error)
- The
Executorused after timeout methods now is always the default asynchronous executor of the originalPromise(previously this requirement was not hold in some cases). Promises.retry*andPromises.poll*functionality has been fully revisited -- now onlyretryis left and it's a responsibility ofRetryPolicyto define what result is valid (hence more flexible options besides just non-nullare possible);RetryPolicy/DelayPolicy/RetryContextwas intensively revisited and are not compatible with previous version.CompletableTask.submitmethod is added to allow submitting aCallable-- i.e. a lambda that throws any exception.- Now library is created as a multi-release JAR and may be used with Java 8 as regular classpath library or with Java 9+ as a module