从此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函数之前,我应该做些什么吗?
答案 0 :(得分:0)
我遇到了一些问题。我猜他们在文档中试图使用ExtendedActorSystem
代替ActorSystem
(名称为extendedSystem
暗示),然后ExtendedActorSystem对提供者有公共访问权限。我还没有找到如何使用它的方法,因此我找到了使用SerializationExtension
的解决方法:
val system = ActorSystem("myactorsystem")
val serialization = SerializationExtension(system)
val deserializedActorRef = serialization.system.provider.resolveActorRef(actorRef)
我希望它有所帮助。