Akka演员选择名称无效

Akka演员选择名称无效,akka,Akka,我正在阅读Akka文档,试图了解它是如何工作的。具体地说,我正在努力理解 Akka使用命名约定,根据特定参与者在参与者“树”中的位置及其名称设置其路径 我的理解是 所有参与者都可以在名为/user/ 创建时(通过actorSystem.actorOf(Props[ActorClassImpl],name=“SomeName”))为所有参与者提供一个名称 参与者的“路径”是/user/前缀加上层次结构路径(见下文)加上其名称 “层次路径”只是/user/和参与者之间所有父对象的斜杠分隔的缩合

我正在阅读Akka文档,试图了解它是如何工作的。具体地说,我正在努力理解 Akka使用命名约定,根据特定参与者在参与者“树”中的位置及其名称设置其路径

我的理解是

  • 所有参与者都可以在名为
    /user/
  • 创建时(通过
    actorSystem.actorOf(Props[ActorClassImpl],name=“SomeName”)
    )为所有参与者提供一个
    名称
  • 参与者的“路径”是
    /user/
    前缀加上层次结构路径(见下文)加上其
    名称
  • “层次路径”只是
    /user/
    和参与者之间所有父对象的斜杠分隔的缩合
因此,如果名为
fizz
的参与者是根级别的参与者,并且它有一个名为
buzz
的子级,而该子级本身有一个名为
foo
,那么到foo的路径是
/user/fizz/buzz/foo
,是吗

因此,首先,如果我对这条基本路径的理解不正确,请先纠正我!假设 我或多或少是对的,演员的名字是否有“无效”的,比如名字中有空格或标点符号的演员

  • 所有参与者都可以在名为
    /user/
所有用户创建的参与者都位于
“/user/”
监护人参与者下方。
“/”
的参与者是根监护人。如前所述,根守护者下面还有其他参与者

  • 创建时(通过
    actorSystem.actorOf(Props[ActorClassImpl],name=“SomeName”
    )为所有参与者命名
在本例中,创建了名为“SomeName”的顶级
ActorClassImpl
参与者

  • 参与者的“路径”是
    /user/
    前缀加上层次结构路径(见下文)加上其
    名称
  • “层次路径”只是
    /user/
    和参与者之间所有父对象的斜杠分隔的缩合
因此,如果一个名为fizz的参与者是根级别的参与者,并且它有一个名为buzz的子级,并且该子级本身有一个名为foo的子级,那么foo的路径是/user/fizz/buzz/foo,是吗

对于用户创建的参与者,这部分是正确的。还包括一个锚。例如:

"akka://MyActorSystem/user/fizz/buzz/foo"                      // local
"akka.tcp://MyActorSystem@somehost.com:1234/user/fizz/buzz/foo // remote

…演员是否有任何“无效”的名字,例如名字中有空格或标点符号的演员

从:

name参数是可选的,但您最好命名参与者,因为它用于日志消息和识别参与者。名称不能为空或以
$
开头,但它可能包含URL编码的字符(例如
%20
表示空白)。如果给定名称已被同一父级的另一个子级使用,则会引发
InvalidActorNameException