加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – InvalidActorNameException – actor名称{name}不是唯

发布时间:2020-12-16 08:47:30 所属栏目:安全 来源:网络整理
导读:所以我开始在我的Play 2.0应用程序中使用Akka actor.我很快注意到重复调用向同一个actor发送消息,通过以下方式指定: val myActor = Akka.system.actorOf(Props[MyActor],name = "myactor") 导致InvalidActorNameException. 然后我开始阅读这个doc中Actors的
所以我开始在我的Play 2.0应用程序中使用Akka actor.我很快注意到重复调用向同一个actor发送消息,通过以下方式指定:

val myActor = Akka.system.actorOf(Props[MyActor],name = "myactor")

导致InvalidActorNameException.

然后我开始阅读这个doc中Actors的创建

doc似乎建议创建一个“主”Actor类,其中包含指定的所有单个actor.反过来,此actor类的接收将匹配消息并将消息委托给适当的Actor.

所以我尝试了这个,现在有类似的东西:

class MasterActor extends Actor{
  import context._
  val emailActor = actorOf(Props[EmailActor],name = "emailActor")
  protected def receive = {
    case reminder : BirthdayReminder => emailActor ! reminder
  }

}

问题是我和以前一样.当我尝试这样的事情时,我不知道如何避免InvalidActorNameException:

val myActor = Akka.system.actorOf(Props[MasterActor],name = "MasterActor")
    myActor ! BirthdayReminder(someBirthday)

那么组织我的演员的正确方法是什么?

解决方法

如果您只想要一个MasterActor,为什么要创建多个MasterActor?你应该只查看你已经创建的那个:

val actorRef = context.actorFor("MasterActor")
actorRef ! BirthdayReminder(someBirthday)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读