我有以下要使用protobuf序列化的scala对象:
I have the following scala object that I would like to serialize with protobuf:
case class Worker(id: String, ref: ActorRef)我的理解是Akka带有ProtobufSerializer,可用于从中序列化/到ActorRef。因此,我在原型文件中定义了以下消息:
My understanding is that Akka comes with a ProtobufSerializer that I can use to serialize from/to ActorRef. Therefore I defined the following message in a proto file:
message Worker { string id = 1; bytes ref = 2; }但是,静态方法ProtobufSerializer采用的ExtentendActorSystem我手头没有我需要序列化这些消息(通过我的actor的context.system属性仅是一个ActorSystem)。我不确定如何将我的对象实际序列化为protobuf,反之亦然。
However the static methods ProtobufSerializer take an ExtentendActorSystem that I do not have at hand when I need to serialize those messages (only an ActorSystem through the context.system attribute of my actor). I am not sure how to actually serialize my object to protobuf and the other way around.
推荐答案我不确定在哪种情况下的确如此,但是我能够将ActorSystem简单地转换为ExtendedActorSystem。在我的特定情况下(我将Akka Persistence与Akka Singleton一起使用),似乎工作正常。
I am not sure in which cases it is true, but I was able to simply cast my ActorSystem to an ExtendedActorSystem. In my specific case (I am using Akka Persistence with Akka Singleton) it seems to work fine.
更多推荐
Akka(JVM):在另一条消息中使用protobuf序列化actorref
发布评论