private def load()

in management/src/main/scala/org/apache/pekko/management/internal/HealthChecksImpl.scala [132:156]


  private def load(
      checks: immutable.Seq[NamedHealthCheck]): immutable.Seq[HealthCheck] = {
    checks
      .map(namedHealthCheck =>
        tryLoadScalaHealthCheck(namedHealthCheck.fullyQualifiedClassName).recoverWith {
          case _: ClassCastException =>
            tryLoadJavaHealthCheck(namedHealthCheck.fullyQualifiedClassName)
        })
      .map {
        case Success(c) => c
        case Failure(_: NoSuchMethodException) =>
          throw new InvalidHealthCheckException(
            s"Health checks: [${checks.mkString(",")}] must have a no args constructor or a single argument constructor that takes an ActorSystem")
        case Failure(_: ClassCastException) =>
          throw new InvalidHealthCheckException(
            s"Health checks: [${checks.mkString(",")}] must have type: () => Future[Boolean]")
        case Failure(c: ClassNotFoundException) =>
          throw new InvalidHealthCheckException(
            s"Health check: [${c.getMessage}] not found")
        case Failure(t) =>
          throw new InvalidHealthCheckException(
            "Uncaught exception from Health check construction",
            t)
      }
  }