2012-07-17 28 views
3

在阿卡,我可以初始化從主(演員系統),就像這樣:阿卡 - 當我應該使用引導類

object HostManagerApp { 
    def main(args: Array[String]) { 
    val system = ActorSystem("Foo", ConfigFactory.load.getConfig("Bar")) 
    } 
} 

或者,我可以從延伸到Bootable類做同樣的。正如docs中提到的,這也允許我從命令行啓動應用程序。這兩種方法有什麼區別?

回答

3

它使您的代碼更加模塊化的一種方法。使用Bootable你可以在不同的Scala類中擁有不同的獨立角色系統,它們都是獨立引導的,而不是將它們全部放在一個主類中。

1

Bootable與Akka Microkernel一起使用,如果您將Akka應用程序打包爲Bootable,那麼您可以在同一個ActorSystem中運行多個應用程序。

+0

如果你看看微內核的代碼和例子,'Bootable'必須創建自己的'ActorSystem',所以每個應用程序將啓動獨立的actor系統。 – Mortimer 2013-11-06 11:30:26