On the same JVM from the Akka example code can we set
"replyTo" via context.self.
final case class Greet(whom: String, replyTo: ActorRef[Greeted])
But to be able to address an actor on another JVM do I exepct an ActorRef like:
Actor[akka://[email protected]:25520/user/supervisor#1566727323]
In order to get such an ActorRef did I tried following without success:
context.self: Actor[akka://shakto/user/supervisor#-893416855] | -> Type: ActorRef -> no IP & Port
context.self.ref: Actor[akka://shakto/user/supervisor#-893416855] | -> Type: ActorRef -> no IP & Port
context.self.path: akka://shakto/user/supervisor | -> Wrong Type: ActorPath
Cluster(context.system).selfMember.address: akka://[email protected]:25520 | -> Wrong Type: Address
Cluster(context.system).selfMember: Member(address = akka://[email protected]:25520, status = Up) | -> Wrong Type: Member
Cluster(context.system).selfMember.uniqueAddress: UniqueAddress(akka://[email protected]:25520,7005817905428950198) | -> Wrong Type: UniqueAddress
DistributedData(context.system).selfUniqueAddress: SelfUniqueAddress(UniqueAddress(akka://[email protected]:25520,7005817905428950198)) | -> Wrong Type: SelfUniqueAddress
How can I get an full ActorRef including IP & Port from inside the actor which I can then pass as "replyTo" to allow different nodes on different JVM's to use this ActorRef to reply back to me inside the same Cluster?
Have you gone through this page? https://doc.akka.io/docs/akka/current/typed/actor-discovery.html
Recommended way to communicated with remote actor is using akka cluster and Receptionist.
Are you using akka-remote?