AkkaScalaアクターはakka.actor.Actorを拡張する必要があります
AkkaJavaアクターはakka.actor.UntypedActorを拡張する必要があります
したがって、デフォルト以外のコンストラクターを使用してScalaアクターを定義し、Javaコードから作成すると、次の問題が発生します。
ActorRef myActor = system.actorOf(new Props(new UntypedActorFactory() {
public UntypedActor create() {
return new MyActor("...");
}
}), "myactor");
もちろん、UntypedActorFactoryはタイプUntypedActorのオブジェクトを作成することを期待していますが、私のアクターはタイプActorです。
回避策は何ですか?
編集:
akka.japi.Creatorを使用するためのViktorからの指示に従って、これは機能します。
Props props1 = new Props();
Props props2 = props1.withCreator(new akka.japi.Creator() {
public Actor create() {
return new MyActor("...");
}
});
ActorRef actorRef = Main.appClient().actorOf(props2, "myactor");