当前位置: 首页 > 知识库问答 >
问题:

如何创建接收

逑景铄
2023-03-14
object Entry extends App {
    val system: ActorSystem = ActorSystem("Twitter")
    val sup = system.actorOf(Props[Supervisor])
    sup ! Sentence(.....)
}

class Supervisor extends Actor {

  def receive = {
    case sen: Sentence =>
      val timer = context.actorOf(Props[Timer])
      val pcfg = context.actorOf(Props[PCFGParser])
      pcfg ! sen.copy()
  }
}
class PCFGParser extends Actor{

   def receive = {
     case sen: Sentence =>
       //....business logic
        val ps = context.actorOf(Props[PatternSearch]) //create another actor
        ps ! sen.copy(tree = Some(tree))
        context.actorSelection("../timer") ! PCFGAddOne
   }
}

[信息][06/03/2014 01:35:25.290][twitter-akka.actor.default-dispatcher-4][Akka://twitter/user/$A/$H/$A]从演员[Akka://twitter/user/$A/$H#11 902 56968]到演员[Akka://twitter/user/$A/$H/$A#-1918790382]的消息[twitterProject.pcfgparsermsg$句子]未送达。[6]遇到的一纸空文。

[信息][06/03/2014 01:35:25.291][twitter-akka.actor.default-dispatcher-17][Akka://twitter/user/$A/$D/../Timer]从演员[Akka://twitter/user/$A/$D/../Timer]到演员[Akka://twitter/user/$A/$D/../Timer]的消息[twitterProject.TimerMsg$PCFGadone$]未送达。[7]遇到的一纸空文。

首先,我承认这个参与者的业务逻辑中可能有一些错误导致了这个错误(或者真的??一个死的参与者会触发消息没有传递的错误吗?)第二,这个PCFGParser参与者向远处的参与者发送消息的正确方式是什么?

谢谢!

共有1个答案

蒯慈
2023-03-14

如果要通过如下的相对路径访问计时器执行器

context.actorSelection("../timer")

您首先需要将此计时器执行器实例命名为“Timer”

val timer = context.actorOf(Props[Timer], name = "timer")

另外一点,如果在receive块中使用context.actorof,将为处理的每个消息创建新的actor实例。我不认为这是你在这里想做的。

class Supervisor extends Actor {
  val timer = context.actorOf(Props[Timer])
  val pcfg = context.actorOf(Props[PCFGParser])

  def receive = {
    case sen: Sentence => pcfg ! sen.copy()
  }
}
 类似资料:
  • 把大象装进冰箱分几步?三步:把冰箱门打开,把大象装进去,关门,搞定~ 新建接口分几步?也是三步: 获取权限 找到一个项目 新建接口 搞定~ 获取权限 新用户登录拥有 个人空间 分组下的全部权限,个人空间分组仅自己可见,因此可以在这里任意试用 YApi 的功能。 除此以外没有任何项目或分组的权限,只能浏览已存在分组下面的公开项目。 如果找不到想找的项目,可能是尚未成为项目成员,此时应联系 项目组长

  • 问题内容: 我有一个标题字符串和一个链接字符串。我不确定如何将两者放在一起以使用Javascript在页面上创建链接。任何帮助表示赞赏。 编辑1:向该问题添加更多详细信息。我试图找出原因的原因是因为我有一个RSS提要,并且有标题和URL的列表。我想将标题链接到URL以使页面有用。 EDIT2:我使用的是jQuery,但它是全新的,并且不知道它可以在这种情况下提供帮助。 问题答案:

  • 问题内容: 我这里有代码,可让我连接到https服务器并传输数据。它工作正常,但是我想知道我是否以正确的方式进行操作,并且实际上是在建立安全连接。请检查我的工作。谢谢。 我像这样使用此代码: 然后,我从那里阅读响应。再次感谢。 问题答案: 查看Apache HttpClient 的官方Custom SSL上下文教程。 正如Stephen C所提到的,您不需要为https上下文注册端口80。将其注册

  • 问题内容: 是否可以为SQL Server的链接服务器之类的功能创建/配置MySQL? 如果是,请告诉我如何?我正在使用MySQL 5.5。 问题答案: MySQL的FEDERATED引擎提供的功能类似于SQL Server的链接服务器(和Oracle的dblink)功能,但不支持连接到MySQL以外的供应商。从这个问题尚不清楚,是否需要功能来连接到除MySQL以外的供应商。 您可能需要研究MyS

  • 只是一个简单的问题。 我一直在网上寻找支持,以创建标准连接帐户与颤振,但我仍然遇到以下问题: \我应该在我的字段中放什么在我的方法中?根据留档,它是: 但它是一款移动应用?所以我有点困惑,我应该把什么放在那里。

  • 我尝试了以下方法,但未能达到效果。 1)使用MongoDB源代码配置和mongob脚本错误:代码13:未经授权 2) 使用JSR223采样器(lang:python)错误:javax。剧本ScriptException:ImportError:第6行中没有名为pymongo的模块 代码: 导入随机导入日期时间导入字符串导入syssys.path.append("/usr/lib64/python2