Scala/Akka中的序列化

Con*_*yle 5 serialization scala akka

我正在Scala中编写一个使用Akka actor的分布式应用程序.我有一些数据结构,我的远程演员愉快地序列化,通过网络发送,并在没有任何额外帮助的情况下反序列化.

对于日志记录,我想序列化包含这些对象的案例类.我在akka项目网站上阅读了序列化文档,但我想知道是否有更简单的方法来完成这项工作,因为Akka显然知道如何序列化这些对象.


编辑2011 11月5日以回应Viktor的评论

该应用程序是分布式马尔可夫决策过程引擎.

我正在尝试序列化其中一件事:

case class POMDPIteration(
  observations: Set[(AgentRef, State)],
  rewards: Set[(AgentRef, Float)],
  actions: Set[(AgentRef, Action)],
  state: State
)
Run Code Online (Sandbox Code Playgroud)

这是AgentRef的定义:

case class AgentRef(
  clientManagerID: Int,
  agentNumber: Int,
  agentType: AgentType
)
Run Code Online (Sandbox Code Playgroud)

Action并且AgentType只是类型的别名Symbol

为了缩短这一点,State的定义如下:https: //github.com/ConnorDoyle/EnMAS/blob/master/src/main/scala/org/enmas/pomdp/State.scala

我成功地在远程actor中发送包含State类型对象的case类,没有任何问题.我只是想知道是否有办法获得Akka用于我自己目的的序列化例程.

Akka在进行消息传递时的隐式序列化很容易,但是从文档中可以看出,明确要求Akka提供序列化版本很难.也许我误解了文档,或者遗漏了一些重要的东西.