4

ポート 2552 で実行されている ActorSystem と、ポート 2553 で実行されている別の ActorSystem があります。それぞれが、シングルトン オブジェクトをインスタンス化する Actor を作成します。シングルトンを同時に利用するために、これらのシステムの両方を管理し、これらのアクターを参照できる別のシステムを作成したいと考えています。

ポートごとにこのようなログが得られるため、アクターがポートでリッスンしていることがわかります

 Remoting started; listening on addresses :[akka.tcp://singletonApplication@127.0.0.1:2552]

デバッガーを使用してオブジェクトを見ると、アクターはこのように表示されます

 Actor[akka://singletonApplication/user/singleton]

を使用してマネージャーシステムを作成します

 ActorSystem system = ActorSystem.create("managerSystem");

しかし、次の行でリモートアクターを参照しようとすると

 system.actorSelection("akka.tcp://singletonApplication@127.0.0.1:2552/user/singleton");

オブジェクトでこれを提供します

 ActorSelection[Actor[akka://managerApplication/deadLetters]/user/singleton]

メッセージを送信しようとすると、コンソールにデッドレターエラーログが表示されます。何が間違っているのかよくわかりませんが、リモートアクターを検索するために使用しようとしているシステムがactorSelectionを台無しにしているようです電話。リモート アクターを参照するには、同じシステム内にいる必要がありますか? これがakkaを使うポイントの一つだと思った?

4

1 に答える 1