有人可以帮助我这个问题。 在Java中使用akka时,是否可以使用带参数的构造函数创建一个akka
子级别的孩子。因为我知道主演是负责创建孩子的。所以如果我们有一个在其构造函数中使用参数的子actor。创建具有非默认构造函数阿卡童星
这是否意味着随时有孩子的演员打电话,主演员有才能的参数传递给童星打造童星的新实例。
有人可以帮助我这个问题。 在Java中使用akka时,是否可以使用带参数的构造函数创建一个akka
子级别的孩子。因为我知道主演是负责创建孩子的。所以如果我们有一个在其构造函数中使用参数的子actor。创建具有非默认构造函数阿卡童星
这是否意味着随时有孩子的演员打电话,主演员有才能的参数传递给童星打造童星的新实例。
不一定。一旦创建了actor,用户将能够直接向该actor发送消息。如果你有一个系统,必须创建一个新的角色来完成每条消息的工作,最好让主管为你创建角色,然后让角色通过tell()机制发回数据。
另一种方法是使用UntypedActorFactory(至少在阿卡2.1.2):
ActorRef myActor = system.actorOf(new Props(new UntypedActorFactory() {
public UntypedActor create() {
return new MyActor("...");
}
}), "myactor");
see the docs here下的“创建演员与非默认构造函数”
正如罗伯特说,一旦一个演员你只是发送消息给它。这是你如何可以用参数,你可以从另一个演员确实创造了一个演员:
由于阿卡2.2 UntypedActorFactory已depricated。
而是在我看来,最简单的方法是做这样的:
ActorRef myActor = system.actorOf(Props.create(MyActor.class, params), "MyActor");
或者你可以实现的创造者是这样的:
static class MyActorC implements Creator<MyActor> {
@Override public MyActor create() {
return new MyActor("...");
}
}
这里看到更多的信息:
个http://doc.akka.io/docs/akka/2.2.3/java/untyped-actors.html#untyped-actors-java
该文档是你的朋友:http://doc.akka.io/docs/akka/2.0.2/java/untyped-actors.html#Props – 2012-08-03 12:04:21