RetryFlow: retries of individual stream elements with backouff (#27742)

RetryFlow wraps a flow with context and allows to individually retry elements. A decider function decides if another try should be made and gives the element to try with.
Retries are backed off exponentially.
Retries are limited by maxRetries.

Inspired by the work of Gilad Hoch <gilad.hoch@thomsonreuters.com> and Martynas Mickevičius <self@2m.lt>
This commit is contained in:
Enno 2019-10-15 18:41:30 +02:00 committed by GitHub
parent 5e61c4123d
commit 70c3cdfa97
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 1295 additions and 0 deletions

View file

@ -155,6 +155,8 @@ object StreamOperatorsIndexGenerator extends AutoPlugin {
"akka-stream/src/main/scala/akka/stream/javadsl/RestartFlow.scala",
"akka-stream/src/main/scala/akka/stream/scaladsl/RestartSink.scala",
"akka-stream/src/main/scala/akka/stream/javadsl/RestartSink.scala",
"akka-stream/src/main/scala/akka/stream/scaladsl/RetryFlow.scala",
"akka-stream/src/main/scala/akka/stream/javadsl/RetryFlow.scala",
// akka-stream-typed
"akka-stream-typed/src/main/scala/akka/stream/typed/javadsl/ActorSource.scala",