【发布时间】:2018-05-24 06:57:03
【问题描述】:
从 Akka 获取序列化错误,如下所示,您如何环绕 Akka 消息的有问题的不可序列化成员/字段?该异常确实命名了无法序列化的成员值(低于com.our.member.object),但该对象本身包含许多嵌套成员,并且错误消息似乎对无法序列化的有问题的嵌套对象几乎没有线索:
2018-05-24T06:30:51.897Z 错误 VCA-akka.actor.default-dispatcher-4 akka.remote.EndpointWriter - 无法使用序列化程序 [class akka.actor] 序列化远程消息 [class akka.actor.ActorSelectionMessage] remote.serialization.MessageContainerSerializer]。瞬态关联错误(关联仍然有效)akka.remote.MessageSerializer$SerializationException:无法使用序列化程序 [class akka.remote.serialization.MessageContainerSerializer] 序列化远程消息 [class akka.actor.ActorSelectionMessage]。在 akka.remote.MessageSerializer$.serialize(MessageSerializer.scala:62) 在 akka.remote.EndpointWriter.$anonfun$serializeMessage$1(Endpoint.scala:895) 在 scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)在 akka.remote.EndpointWriter.serializeMessage(Endpoint.scala:895) 在 akka.remote.EndpointWriter.writeSend(Endpoint.scala:786) 在 akka.remote.EndpointWriter$$anonfun$4.applyOrElse(Endpoint.scala:761) 在akka.actor.Actor.aroundReceive(Actor.scala:513) 在 akka.actor.Actor.aroundReceive$(Actor.scala:511) 在 akka.remote.EndpointActor.aroundReceive(Endpoint.scala:452) 在 akka.actor。 ActorCell.receiveMessage(ActorCell.scala:519) at akka.actor.ActorCell.invoke(ActorCell.scala:488) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) at akka.dispatch.Mailbox.run(Mailbox .scala:224) 在 akka.dispatch.Mailbox.exec(Mailbox.scala:234) 在 akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask( ForkJoinPool.java:1339)在 akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 由:java.io.NotSerializableException: com.our.member.object在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) 在 java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 在 java.io。 ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 在 java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream .java:1509) 在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 在 java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)在 akka.serializati on.JavaSerializer.$anonfun$toBinary$1(Serializer.scala:313) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) at scala.util.DynamicVariable.withValue( DynamicVariable.scala:58) atakka.serialization.JavaSerializer.toBinary(Serializer.scala:313) atakka.remote.serialization.MessageContainerSerializer.serializeSelection(MessageContainerSerializer.scala:37) atakka.remote.serialization.MessageContainerSerializer.toBinary(MessageContainerSerializer .scala:26) at akka.remote.MessageSerializer$.serialize(MessageSerializer.scala:47) ...省略了 17 个常用帧
【问题讨论】:
标签: akka