我想添加特殊情况来提高任何 Akka序列化模块的性能,即允许更快地序列化Array[Double]
或用户包装的任何原始类型。是否存在允许基于每种类型进行自定义序列化的规范方法?
我的想法是添加一个定义方法CanSerialize[T]
和serialize(o:T):Array[Byte]
的特征deserialize(bytes:Array[Byte]):T
。有没有办法实现这样的事情,而不会像模式匹配那样失去Akka的好处?
修改 我也可以对Kryo或其它比Java的序列化程序更快的满意,但似乎没有任何预先打包的jar文件用于Kryo和Akka 2.1。
答案 0 :(得分:2)
您可以为特定类型注册自己的序列化程序。
akka.actor {
serialization-bindings {
"[D" = doubleBytes
}
serializers {
doubleBytes = "a.b.YourDoubleArraySerializer"
}
}
请注意,[D
是Array[Double]
的类名。