!per #3652 Custom snapshot and persistent message serialization
- Protobuf serializer for Persistent message - Configurable serializer for Persistent message's payload - Configurable serializer for snapshots
This commit is contained in:
parent
6f89d346ec
commit
2a30399a29
35 changed files with 4049 additions and 390 deletions
|
|
@ -0,0 +1,50 @@
|
|||
/**
|
||||
* Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com>
|
||||
*/
|
||||
|
||||
package docs.persistence
|
||||
|
||||
import com.typesafe.config._
|
||||
|
||||
import org.scalatest.WordSpec
|
||||
|
||||
import akka.actor.ActorSystem
|
||||
import akka.serialization.{ Serializer, SerializationExtension }
|
||||
|
||||
class PersistenceSerializerDocSpec extends WordSpec {
|
||||
|
||||
val customSerializerConfig =
|
||||
"""
|
||||
//#custom-serializer-config
|
||||
akka.actor {
|
||||
serializers {
|
||||
my-payload = "docs.persistence.MyPayloadSerializer"
|
||||
my-snapshot = "docs.persistence.MySnapshotSerializer"
|
||||
}
|
||||
serialization-bindings {
|
||||
"docs.persistence.MyPayload" = my-payload
|
||||
"docs.persistence.MySnapshot" = my-snapshot
|
||||
}
|
||||
}
|
||||
//#custom-serializer-config
|
||||
""".stripMargin
|
||||
|
||||
SerializationExtension(ActorSystem("doc", ConfigFactory.parseString(customSerializerConfig)))
|
||||
}
|
||||
|
||||
class MyPayload
|
||||
class MySnapshot
|
||||
|
||||
class MyPayloadSerializer extends Serializer {
|
||||
def identifier: Int = 77124
|
||||
def includeManifest: Boolean = false
|
||||
def toBinary(o: AnyRef): Array[Byte] = ???
|
||||
def fromBinary(bytes: Array[Byte], manifest: Option[Class[_]]): AnyRef = ???
|
||||
}
|
||||
|
||||
class MySnapshotSerializer extends Serializer {
|
||||
def identifier: Int = 77125
|
||||
def includeManifest: Boolean = false
|
||||
def toBinary(o: AnyRef): Array[Byte] = ???
|
||||
def fromBinary(bytes: Array[Byte], manifest: Option[Class[_]]): AnyRef = ???
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue