【问题标题】:remote akka actor error to send serializable messages发送可序列化消息的远程 akka actor 错误
【发布时间】:2015-02-13 05:21:30
【问题描述】:

我正在使用远程 akka 演员,我想发送序列化消息,使用 ObjectOutputStream 但是当本地演员向远程演员发送消息时出现 abd 错误,错误是: java.io.NotRerializableException 未配置序列化 - 类 java.io.ObjectOutputStream 的绑定 推荐哪种类型的序列化?

【问题讨论】:

    标签: scala serialization akka


    【解决方案1】:

    您不必创建自己的ObjectOutputStream 来发送消息。你只是一个域消息对象(例如,PersonAddItem,...),它可以序列化到你的 Akka 演员。 Akka 将负责通过网络发送它。默认情况下,它将使用 Java 序列化(这不是最有效的)。

    【讨论】:

      【解决方案2】:

      java.io.ObjectOutputStream 不可序列化,因此无法作为开箱即用的远程消息发送。您要么需要发送不同的消息,要么为该类编写序列化程序并适当地配置 Akka。但是,鉴于ObjectOutputStream 是什么,通过网络发送该类型的对象甚至没有意义。

      此外,java.io.ObjectOutputStream 实际上是可变的,因此绝对不应该在 Akka 中将其作为消息发送,从而使整个事情变得毫无意义。只是不要这样做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-30
        • 2020-05-28
        • 2011-09-06
        • 2015-05-29
        • 2019-07-07
        • 2016-08-09
        • 2021-12-31
        • 2015-04-16
        相关资源
        最近更新 更多