斯卡拉阿卡演员“死信遇到”

时间:2015-07-30 14:38:34

标签: scala akka

我正在测试我在Scala中的actor系统中找到我正在处理的一段代码,当我尝试向另一个actor发送消息时,我遇到了问题。

在观察者课程中,我正在运行此代码:

 val commander = system.actorOf(PocCommander.props)
 commander ! START

在PocCommander课程中我有:

val poller = context.actorOf(PocPollerCrow.props, name = "poller-crow")
poller ! "start"

我可以确认commander成功接收到枚举START,当我在intelliJ中调试时,我可以看到正在创建轮询器。但是,我收到此错误消息:

  

[INFO] [07/30/2015 10:26:53.797] [MySpec-akka.actor.default-dispatcher-4] [akka:// MySpec / user / poller-crow]消息[java.lang。字符串]从演员[akka:// MySpec / user / $ a#1512757569]到演员[akka:// MySpec / user / poller-crow#-130904114]未送达。 [1]遇到死信。

编辑:根据要求,乌鸦代码

class PocPollerCrow extends BaseCrow {

  override def receive: Receive = {
    case "start" => println("yay")
    case _ => println("nay")
  }
object PocPollerCrow {
  val props = Props[PocPollerCrow]
}

和指挥官收到代码:

override def receive: Receive = {
case START =>
  println("got something yo -> " + START.toString)
  start()
case _ =>
}

我还删除了关闭ActorSystem的代码,所以我不再遇到这个问题了。我认为问题是我向演员发送了一条消息,然后很快关闭了系统。

0 个答案:

没有答案