使用Akka和sbt

时间:2015-09-30 16:57:12

标签: scala sbt akka

使用sbt可以执行〜运行以在源更改时重新编译并运行程序。但是,一旦创建了ActorSystem,它就不再起作用了。

当系统关闭时,它可以工作,但我不想关闭系统。

import akka.actor.ActorSystem

object Test {
  def main(args: Array[String]) : Unit = {
    val system = ActorSystem()

    // if this line is removed, source code detection is disabled
    system.shutdown()
  }
}

有解决方法吗?

1 个答案:

答案 0 :(得分:4)

你必须记住SBT ~run本身热重新加载,它只是"一旦过程完成,请再次运行它"。 Akka的线程池是非守护进程的,这意味着直到ActorSystem是" alive"该计划不会终止,因此SBT ~run不会再次触发。

相反,您可能需要查看sbt-revolver SBT插件,该插件可以执行您正在寻找的内容(包括基于Akka的应用)。