Sending an Akka actorRef to json
好的,我正在编写scala中case类的隐式转换,使用sjson,使用akka框架向远程参与者发送消息。其中一个case类看起来像这样
我该如何编写这个案例类的隐式代码呢?
我已经看到actorrefs确实有tobinary方法,但我需要把它发送给json
- doc.akkasource.org http:/ / / serialization -斯卡拉。[深],可以显serialization只读状态所需的基本演员,当演员的实例(在actorref / remoteactorref)持有一些重要的运行时数据。这个案例,你应该为你的typeclass实现下面的演员:
1
2
3
4
5
6
7
8
9
10
11
12
13 /**
* Type class definition for Actor Serialization
*/
trait FromBinary[T <: Actor] {
def fromBinary(bytes: Array[Byte], act: T): T
}
trait ToBinary[T <: Actor] {
def toBinary(t: T): Array[Byte]
}
// client needs to implement Format[] for the respective actor
trait Format[T <: Actor] extends FromBinary[T] with ToBinary[T]
如果你想scalajson serialization,而不是默认的一个,你应该使用
1 2 3 4 5 |
一个
在你的案例,你会需要什么样
1 2 3 4 5 6 7 8 |
- 总的来说,你不需要序列化的类的明确的案例,当你发送消息到远程演员本身在阿卡阿卡serializes -所有与在发送TCP数据protobufs过。
- 为什么你需要参考到演员的序列化?它只是需要一个由演员呼叫发射机接收消息,你可以简单的使用
self.sender ,如果消息发送一个self.senderFuture ! ,或发送消息,当一个或!!! !! 。在actorref(或remoteactorref)本身只是一个抽象的接口,在演员,演员的encapsulate用于内部和外部的沟通与执行让演员只通过消息(在对比到演员/多样的程序做的[它]在Erlang过程)和持有的非常小的量的数据让镰刀。序列化和森D过线。