in core/src/main/scala/org/apache/pekko/projection/internal/ProjectionSettings.scala [77:91]
def fromConfig(config: Config): HandlerRecoveryStrategy = {
val strategy = config.getString("strategy")
val retries = config.getInt("retries")
val retryDelay = config.getDuration("retry-delay", MILLISECONDS).millis
strategy match {
case "fail" => HandlerRecoveryStrategy.fail
case "skip" => HandlerRecoveryStrategy.skip
case "retry-and-fail" => HandlerRecoveryStrategy.retryAndFail(retries, retryDelay)
case "retry-and-skip" => HandlerRecoveryStrategy.retryAndSkip(retries, retryDelay)
case s =>
throw new IllegalArgumentException(
s"Strategy type [$s] is not supported. Supported options are [fail, skip, retry-and-fail, retry-and-skip]")
}
}