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
Executor
used 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 onlyretry
is left and it's a responsibility ofRetryPolicy
to define what result is valid (hence more flexible options besides just non-null
are possible);RetryPolicy
/DelayPolicy
/RetryContext
was intensively revisited and are not compatible with previous version.CompletableTask.submit
method 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