2015-09-30 17 views
3

隨着SBT這是可以做到的〜運行重新編譯和運行程序的源改變時。但是一旦創建ActorSystem,它就不再工作了。啓用與阿卡波浪觸發和SBT

當系統處於關閉它的工作原理,但我不希望關閉系統。

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() 
    } 
} 

有什麼解決方法嗎?

回答

4

你必須記住,SBTs ~run本身是而不是熱重載,它只是「一旦過程完成,請重新運行它」。 Akka的線程池是非守護進程的,這意味着在ActorSystem處於「活動狀態」之前程序不會終止,因此SBT的~run不會再次觸發。

相反,你可能想看看進入sbt-revolver SBT插件,它可以做你要找的內容(包括基於阿卡應用程序)。

+0

感謝您的回答 –