ポート 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を使うポイントの一つだと思った?