在Akka反序列化演员

时间:2016-10-17 03:55:07

标签: scala akka

从此Akka序列化文档http://doc.akka.io/docs/akka/2.4/scala/serialization.html

在序列化actor的部分,我发现这要反序列化:

val deserializedActorRef = extendedSystem.provider.resolveActorRef(identifier)

然而,当我尝试使用我创建的ActorSystem时:

val extendedSystem = ActorSystem("myactorsystem") 

我收到了这条消息:

  无法访问特征中的方法提供程序ActorRefFactory   akka.actor.ActorSystem

     

不允许访问受保护的方法提供程序,因为   在包 PackageName 中包含类 ClassName 不是a   包中的trait ActorRefFactory的子类在哪里   定义了目标

在使用resolveActorRef函数之前,我应该做些什么吗?

1 个答案:

答案 0 :(得分:0)

我遇到了一些问题。我猜他们在文档中试图使用ExtendedActorSystem代替ActorSystem(名称为extendedSystem暗示),然后ExtendedActorSystem对提供者有公共访问权限。我还没有找到如何使用它的方法,因此我找到了使用SerializationExtension的解决方法:

val system = ActorSystem("myactorsystem")
val serialization = SerializationExtension(system)
val deserializedActorRef = serialization.system.provider.resolveActorRef(actorRef)

我希望它有所帮助。