【问题标题】:using inheritance in akka actors在 akka actor 中使用继承
【发布时间】:2016-09-13 08:46:06
【问题描述】:

我正在使用 Scala/Akka 编写 TCP 客户端服务器程序。 服务器端的一些参与者需要处理来自客户端的 TCP 消息。 我使用(复制的)代码基本上解析接收到的 TCP 消息,并在接收到分隔符时将消息发送给其他人。

由于不止一个actor使用这个逻辑,我在baseTCPactor中抽象了它并继承了其他actor。 我想在这个基本角色中添加通用代码,例如处理 Bound/Connected/CommandFailed 等。 这种处理在 Akka 中可以吗?还是气馁? 最好的祝福, 维沙尔

【问题讨论】:

  • 当您说继承时,您是指特征还是实际扩展?
  • 我做了一个实际的扩展并且没有使用 trait
  • 如果您要提取单个功能,我建议(因为您在 Scala 中)研究特征而不是扩展:它们混合得更好(并且您可以拥有多个,这似乎是您想要的? )

标签: scala tcp akka


【解决方案1】:

是的,这是可能的,一个符合您所描述的示例是 PersistentActor。 http://doc.akka.io/api/akka/2.3.4/#akka.persistence.PersistentActor 是 Actor 的子类型。

在我以前的公司中,我们抽象了更多 PersistentActor,将其扩展为具有 HashMap 作为状态和一些已定义的生命周期状态(如打开、关闭、waitingForAck、终止)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2013-11-27
    • 2018-07-17
    • 2019-02-12
    相关资源
    最近更新 更多