从这个Akka序列化文档http://doc.akka.io/docs/akka/2.4/scala/serialization.html
在序列化actor的部分,我发现这要反序列化:
val deserializedActorRef = extendedSystem.provider.resolveActorRef(identifier)
然而,当我尝试使用我创建的ActorSystem时,我创建了:
val extendedSystem = ActorSystem("myactorsystem")
我收到了这条消息:
无法在akka.actor.ActorSystem中访问trait中的方法提供程序 . 不允许访问受保护的方法提供程序,因为在程序包PackageName中包含类ClassName不是包定义者中的trait ActorRefFactory的子类,其中定义了目标
在使用resolveActorRef函数之前,我还有什么要做的吗?
1 回答
我猜测在他们试图说的文档中使用
ExtendedActorSystem
而不是ActorSystem
(名称为extendedSystem
暗示)然后ExtendedActorSystem对提供者有公共访问权限 . 我还没有找到如何使用它的方法所以我找到了一个使用SerializationExtension
的解决方法:我希望它有所帮助 .