0

我有一个 scala 主课

object Job extends App {

         def myProcedure() = {
             sqlu"""CALL `dbName`.`update_history();"""
         }

         implicit val system: ActorSystem = ActorSystem()
         implicit val mat: ActorMaterializer = ActorMaterializer()
         implicit val ec = system.dispatcher
         implicit val session: SlickSession = SlickSession.forConfig("my-mysql")
         val proc = session.db.run(myProcedure))
          
         val terminatedF = proc.flatMap { rec =>
              println("value of the procedure ::" + rec)
              session.close()
              system.terminate()
         }
         Await.result(terminatedF, Duration.Inf)
          println("terminated :::")
     }

我看到的值rec被打印出来,terminated :::最后一行也被打印出来。然而程序并没有结束。我在这里错过了什么吗?

4

1 回答 1

0

这是用户定义线程的问题。

Await.result在最后一个 Future 上使用过,然后做了sys.exit(0). 也在build.sbt

我用了

fork in run := true

这完美地工作

于 2021-07-17T14:42:49.733 回答