scala - Scala/Akka 中的序列化

标签 scala serialization akka

我正在 Scala 中编写一个使用 Akka actor 的分布式应用程序。我有一些数据结构,我的远程参与者很高兴地序列化、通过网络发送和反序列化,而无需我的任何额外帮助。

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

2011 年 11 月 5 日编辑 回应维克多的评论

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

我正在尝试序列化以下其中一项:

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 的类型别名

为了保持简短,状态的定义在这里:
https://github.com/ConnorDoyle/EnMAS/blob/master/src/main/scala/org/enmas/pomdp/State.scala

我成功地在远程参与者之间发送包含 State 类型对象的案例类,没有问题。我只是想知道是否有办法获得 Akka 用于我自己目的的序列化例程。

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

最佳答案

关于scala - Scala/Akka 中的序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8015565/

相关文章:

multithreading - Akka BalancingPool 使用 PinnedDispatcher

string - 在 scala 中分割字符串

scala - 如何将 Cats Effect 资源转换为 ZIO 2 示波器?

c++用std::string读写结构数组到二进制文件

c# - 在 C# 中处理序列化异常

scala - Akka Actor 日志记录未写入文件

scala - spark停止时如何清理其他资源

arrays - 在scala中将数组转换为二维数组的最简单方法

scala - SBT 错误的编译顺序

java - 反序列化 xstream 时的空值