我正在尝试使用无类型的演员工厂创建演员,编译进行得很好。但是在运行应用程序时,我收到以下错误。我在配置中遗漏了什么吗?
Java 代码:
MyActor myactor = new MyActor(); //MyActor extends UnTypedActor
ActorSystem system = ActorSystem.create("mynamespace");
ActorRef actor = system.actorOf(new Props(new UntypedActorFactory() {
public UntypedActor create() {
return myactor;
}
}));
运行时出错:
原因:akka.actor.ActorInitializationException:您无法使用构造函数(新)显式创建 [com.practice.MyActor] 的实例。您必须使用其中一种工厂方法来创建新演员。要么使用:'val actor = context.actorOf(Props[MyActor])'
(从一个actor内部创建一个受监督的子actor),要么使用'val actor = system.actorOf(Props(new MyActor(..)))' (从 ActorSystem 创建一个顶级演员)