* remove channels * remove View * remove Processor * collapse the complicated internal state management that was spread out between Processor, Eventsourced and Recovery * remove Recovery trait, this caused some duplication between Eventsourced and PersistentView, but but the enhanced PersistentView will not be based on recovery infrastructure, and therefore PersistentView code will be replaced anyway * remove PersistentBatch * remove LoopMessage * remove deleteMessages of individual messages * remove Persistent, PersistentRepr and PersistentImpl are kept * remove processorId * update doc sample code * note in migration guide about persistenceId * rename Resequencable to PersistentEnvelope
55 lines
1.5 KiB
Scala
55 lines
1.5 KiB
Scala
/**
|
|
* Copyright (C) 2009-2014 Typesafe Inc. <http://www.typesafe.com>
|
|
*/
|
|
|
|
package docs.persistence
|
|
|
|
import com.typesafe.config._
|
|
import scala.concurrent.duration._
|
|
import org.scalatest.WordSpec
|
|
import akka.actor.ActorSystem
|
|
import akka.serialization.{ Serializer, SerializationExtension }
|
|
import akka.testkit.TestKit
|
|
|
|
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
|
|
"""
|
|
|
|
val system = ActorSystem("PersistenceSerializerDocSpec", ConfigFactory.parseString(customSerializerConfig))
|
|
try {
|
|
SerializationExtension(system)
|
|
} finally {
|
|
TestKit.shutdownActorSystem(system, 10.seconds, false)
|
|
}
|
|
}
|
|
|
|
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 = ???
|
|
}
|