Akka(JVM):在另一条消息中使用protobuf序列化一个actorref

时间:2016-11-23 19:59:51

标签: scala akka protocol-buffers

我有以下scala对象,我想用protobuf序列化:

case class Worker(id: String, ref: ActorRef)

我的理解是Akka附带了一个ProtobufSerializer,我可以使用它来从/向ActorRef序列化。因此,我在proto文件中定义了以下消息:

message Worker {
    string id = 1;
    bytes ref = 2;
}

然而,当我需要序列化这些消息时,静态方法ProtobufSerializer采用我手头没有的ExtentendActorSystem(通过我的actor的context.system属性只有一个ActorSystem)。我不确定如何将我的对象实际序列化为protobuf,反之亦然。

1 个答案:

答案 0 :(得分:0)

我不确定在哪种情况下它是真的,但我能够简单地将我的ActorSystem转换为ExtendedActorSystem。在我的具体情况下(我使用Akka Persistence与Akka Singleton)它似乎工作正常。