在 Akka Java actor 模型中,如果我有一个 RoundRobinRouter,当调用它的 tell()
方法时,我希望路由器(作为主设备)使用非默认构造函数创建子 actor,因为我需要传入一些参数。我怎样才能做到这一点?
我知道我可以使用 Props
为具有非默认构造函数的 actor,但是当主 actor 是路由器时如何使用它?
谢谢!
最佳答案
构建路由器时的 props 是该路由器的路由对象的 props,而不是路由器本身。
您可以简单地执行以下操作:
system.actorOf(new Props(new UntypedActorFactory() {
public UntypedActor create() {
return new MyActor("foo", "bar");
}
}).withRouter(...))
所有的路由都将是 MyActor 类型,并调用特定的构造函数。
您可以使用 Prop 做任何您通常可以做的事情。欲了解更多信息,请参阅The Akka Docs
关于akka - 在 Akka Java actor 模型中,路由器可以使用非默认构造函数创建 actor 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12889490/