def fromConfig()

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]")
    }
  }