Scala / Akka 中的序列化

5
我正在使用Scala编写一个分布式应用程序,其中使用了Akka actors。我拥有一些数据结构,我的远程actors可以轻松地将其序列化、通过网络发送并反序列化,不需要我的额外帮助。
为了记录日志,我想序列化一个包含这些对象的case class。我阅读了akka项目网站上的序列化文档,但我想知道是否有更简单的方法来完成这项任务,因为Akka已经知道如何序列化这些对象。
编辑 2011年11月5日 回应Viktor的评论 该应用是一个分布式马尔可夫决策过程引擎。
我试图序列化其中一个东西:
case class POMDPIteration(
  observations: Set[(AgentRef, State)],
  rewards: Set[(AgentRef, Float)],
  actions: Set[(AgentRef, Action)],
  state: State
)

以下是“AgentRef”的定义:

case class AgentRef(
  clientManagerID: Int,
  agentNumber: Int,
  agentType: AgentType
)

ActionAgentType只是Symbol的类型别名。

为了简洁起见,这里给出了State的定义: https://github.com/ConnorDoyle/EnMAS/blob/master/src/main/scala/org/enmas/pomdp/State.scala

我成功地将对象类型为State的case类在远程actor之间发送,没有遇到任何问题。我只想知道有没有一种方法可以获取Akka用于我的目的的序列化程序。

当执行消息传递时,Akka的隐式序列化很容易,但从文档中可以看出,显式要求Akka提供序列化版本似乎比较困难。也许我误解了文档,或者漏掉了重要的内容。


你有一些示例代码来说明这个问题吗? - Viktor Klang
@ViktorKlang - 我添加了一些代码,并稍微扩展了问题。谢谢关注! - Connor Doyle
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接