加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala / Akka中的序列化

发布时间:2020-12-16 18:37:47 所属栏目:安全 来源:网络整理
导读:我正在 Scala中编写一个使用Akka actor的分布式应用程序.我有一些数据结构,我的远程演员愉快地序列化,通过网络发送,并在没有任何额外帮助的情况下反序列化. 对于日志记录,我想序列化包含这些对象的案例类.我阅读了akka project site上的序列化文档,但我想知
我正在 Scala中编写一个使用Akka actor的分布式应用程序.我有一些数据结构,我的远程演员愉快地序列化,通过网络发送,并在没有任何额外帮助的情况下反序列化.

对于日志记录,我想序列化包含这些对象的案例类.我阅读了akka project site上的序列化文档,但我想知道是否有更简单的方法来完成这项工作,因为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
)

Action和AgentType只是Symbol的类型别名

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

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

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

解决方法

这是神奇的酱油: https://github.com/akka/akka/blob/master/akka-remote/src/main/scala/akka/remote/RemoteTransport.scala

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读