Scala 용 종료되지 않더라도 미래가 완료된

0

질문

내가 기다릴 미래를 완료하고 콘텐츠 인쇄습니다. 경우에도 모든 것이 완료되면,메인 프로그램 종료되지 않고 나를 죽여야합니다.

def main(args: Array[String]): Unit {
    val req = HttpRequest(GET, myURL)
    val res = Http().singleRequest(req)
    val resultsFutures = Future {
        val resultString = Await.result(HttpRequests.unpackResponse(res), Duration.Inf)
        JsonMethods.parse(resultString).extract[List[Results]]
    }
    val results = Await.result(resultsFutures, Duration.Inf)
    println(results)
}

그래서 results 가 콘솔에서 예상한 주장하지만 응용 프로그램이 아직 끝나지 않습니다. 내가 할 수 있는 응용 프로그램을 종료하려면? 은 여전히 뭔가를 실행하는 메인을 기다리고 있는가?

나는 사용:

  • scala2.12.10
  • akka2.5.26
  • akkaHttp10.1.11
akka akka-http concurrent.futures scala
2021-10-26 17:59:04
1

최고의 응답

3

당신이 사용하는 Akka,당신은 가능성이 있는 ActorSystem 인스턴스화는 어떻게 든 후드는 과정을 실행합니다.

하나 당신을 얻을 수 있는 손으로 그것을 그 actorSystem.terminate() 방법,또는 당신은 또한 사용하여 명시적 sys.exit(0) 의 끝에서 주요 방법(0 되는 종료한 코드를 원합니다).

편집:당신은 또한 포장 Awaits Try 고 전화를했는지 확인하십시오 sys.exit 에서 실패의 경우 뿐만 아니라.

2021-10-26 18:23:16

그렇다,나는 implicit val system: ActorSystem = ActorSystem() 에는 개체의 실행됩니다.
Seb

그것을 변경하는 명시적 val system: ActorSystem = ActorSystem(). 그런 다음 나라 system.terminate() (.종료는 사용되지 않습니다)하지만 이것은 아직 끝나지 않습니다. 할 수 있는 다른 방법이 있다출 sys.exit(0) 것으로 짐승을 강요하고 있어야기위한 방법이 있을까?
Seb

나의 실수를 잡으려고 했는 모든 암시적 ActorSystems 에 모든 기능을 종료 후에 그들에게 그들이 완성되는 자신의 직업이다. 잘하고,이은 정답입니다.
Seb

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................