I'm reading the Akka docs on Actor Selection and trying to understand how it works. Specifically, I'm trying to understand the naming convention Akka uses for setting the paths to specific actors based on their location in the actor "tree" and their name.
My understanding is
- All actors are available under the "root" path called
/user/
- On creation (via
actorSystem.actorOf(Props[ActorClassImpl], name = "SomeName")
) all Actors are given aname
- The "path" to an Actor is the
/user/
prefix plus a hierarchy path (see below) plus theirname
- The "hierarchy path" is just a slash-delimited concatentation of all the parents between
/user/
and the actor
Hence if an actor with a name of fizz
is a root-level actor, and it has a child named buzz
, and that child itself has a child named
foo
, then the path to foo is /user/fizz/buzz/foo
, yes?
So to begin with, if my understanding of how this basic path construction works is incorrect, please begin by correcting me! Assuming I'm more or less correct, are there any "invalid" names for actors, such as actors with whitespaces or punctuation in their names?