【问题标题】:Deserialization case class from ByteString来自 ByteString 的反序列化案例类
【发布时间】:2015-08-05 23:49:42
【问题描述】:

我使用以下方式发送案例类:

tcpActor ! Tcp.Write(MyCaseClass(arg1: Class1, arg2: Class2).data)

然后我收到了:

case Tcp.Receive(data: ByteString)

有什么简单的方法可以在不使用低级 java 序列化程序的情况下匹配 MyCaseClass 上的数据?

【问题讨论】:

    标签: scala serialization akka akka-io


    【解决方案1】:

    您的选择:
    1.使用Akka remoting直接发送案例类
    2.使用Java序列化
    3. 使用https://github.com/scala/pickling
    4. 编写自己的消息协议,实现案例类和字节串之间的转换

    选择最适合您的用例。

    【讨论】:

      【解决方案2】:

      我不确定akka 是否提供任何反序列化二进制数据的工具,我目前还没有找到。一个不错的选择是使用scodec,这在 scala 生态系统中看起来相当不错并且非常流行。顺便问一下,你用来序列化的.data 方法在哪里定义的?

      【讨论】:

        猜你喜欢
        • 2015-03-31
        • 2020-04-30
        • 2013-08-12
        • 1970-01-01
        • 1970-01-01
        • 2011-06-29
        • 2013-08-04
        • 2023-03-10
        • 1970-01-01
        相关资源
        最近更新 更多