【问题标题】:ActorRefs as parts of messages in Akka (java.io.NotSerializableException)ActorRefs 作为 Akka 中消息的一部分 (java.io.NotSerializableException)
【发布时间】:2011-11-28 17:10:28
【问题描述】:

使用 Akka 1.2(和 1.3-RC1)我仍然遇到 Viktor 在 2010 年 11 月在 http://groups.google.com/group/akka-dev/browse_thread/thread/fe85adf5aeeec168 中提到的相同问题

即,尝试将本地参与者引用发送到远程参与者会导致以下异常。我想知道这是否是预期的,或者是否有一些 Akka 配置设置等。我缺少可以根据需要启用自动序列化演员引用所需的巫术魔法?

谢谢, 真棒,斯卡拉

[ERROR]   [11/28/11 11:55 AM] [akka:event-driven:dispatcher:global-32] [LocalActorRef] akka.actor.LocalActorRef
java.io.NotSerializableException: akka.actor.LocalActorRef
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at akka.serialization.Serializer$Java$class.toBinary(Serializer.scala:60)
at akka.serialization.Serializer$Java$.toBinary(Serializer.scala:55)
at akka.remote.MessageSerializer$.serialize(MessageSerializer.scala:55)
at akka.serialization.RemoteActorSerialization$.createRemoteMessageProtocolBuilder(SerializationProtocol.scala:327)
at akka.remote.netty.RemoteClient.send(NettyRemoteSupport.scala:252)
at akka.remote.netty.NettyRemoteClientModule$$anonfun$send$1.apply(NettyRemoteSupport.scala:109)
at akka.remote.netty.NettyRemoteClientModule$$anonfun$send$1.apply(NettyRemoteSupport.scala:109)
at akka.remote.netty.NettyRemoteClientModule$class.withClientFor(NettyRemoteSupport.scala:134)
at akka.remote.netty.NettyRemoteSupport.withClientFor(NettyRemoteSupport.scala:647)
at akka.remote.netty.NettyRemoteClientModule$class.send(NettyRemoteSupport.scala:109)
at akka.remote.netty.NettyRemoteSupport.send(NettyRemoteSupport.scala:647)
at akka.actor.RemoteActorRef.postMessageToMailbox(ActorRef.scala:1246)
at akka.actor.ScalaActorRef$class.$bang(ActorRef.scala:1410)
at akka.actor.RemoteActorRef.$bang(ActorRef.scala:1219)

...

【问题讨论】:

    标签: scala akka


    【解决方案1】:

    文档是金:http://akka.io/docs/akka/1.3-RC1/scala/serialization.html#id7

    我还可以补充一点,这将在 2.0 中完全透明

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 2014-04-19
      • 2014-05-03
      • 1970-01-01
      相关资源
      最近更新 更多