Akka 2.x 需要许多命令来引用ActorSystem. 所以,要创建一个演员的实例,MyActor你可能会说:
val system = ActorSystem()
val myActor = system.actorOf(Props[MyActor])
由于经常需要ActorSystem: 许多代码示例省略了代码的创建,并假设读者知道system变量的来源。
如果你的代码在不同的地方产生actors,你可以复制这个代码,可能会创建额外ActorSystem的实例,或者你可以尝试ActorSystem通过引用一些全局或传递来共享同一个实例ActorSystem。
Akka 文档在标题“演员系统”下提供了演员系统的一般概述,并且有类的文档ActorSystem。但是这些都不能很好地解释为什么 Akka 的用户不能仅仅依靠 Akka 来管理这个底层。
问题)
共享同一个
ActorSystem对象或每次都创建一个新对象意味着什么?这里有哪些最佳实践?一直路过一个
ActorSystem似乎出奇的笨拙。一些例子给出了
ActorSystem一个名字:ActorSystem("MySystem")其他人只是调用ActorSystem(). 这有什么区别,如果您两次使用相同的名称会怎样?是否
akka-testkit要求您ActorSystem与传递给TestKit构造函数的共享一个公用?