+ per plugin scoped adapters + could be swapped during runtime +per EventAdapter now has manifest and is configurable ai la serializers + json examples in docs + including "completely manual" example in case one wants to add metadata TO the persisted event + better error reporting when misconfigured bindings + manifest is handled by in memory plugin - did not check if it works with LevelDB plugin yet > TODO: json example uses Gson, as that's simplest to do, can we use +per allows 1:n adapters, multiple adapters can be bound to 1 class
This commit is contained in:
parent
0214d6e14d
commit
7e86dac542
28 changed files with 1534 additions and 119 deletions
|
|
@ -4,20 +4,19 @@
|
|||
|
||||
package akka.persistence.serialization
|
||||
|
||||
import scala.concurrent.duration
|
||||
import scala.concurrent.duration.Duration
|
||||
import scala.language.existentials
|
||||
import com.google.protobuf._
|
||||
import akka.actor.{ ActorPath, ExtendedActorSystem }
|
||||
import akka.japi.Util.immutableSeq
|
||||
import akka.persistence.AtLeastOnceDelivery.{ AtLeastOnceDeliverySnapshot ⇒ AtLeastOnceDeliverySnap, UnconfirmedDelivery }
|
||||
import akka.persistence._
|
||||
import akka.persistence.fsm.PersistentFsmActor.StateChangeEvent
|
||||
import akka.persistence.serialization.MessageFormats._
|
||||
import akka.serialization._
|
||||
import akka.persistence.AtLeastOnceDelivery.{ AtLeastOnceDeliverySnapshot ⇒ AtLeastOnceDeliverySnap }
|
||||
import akka.persistence.AtLeastOnceDelivery.UnconfirmedDelivery
|
||||
import com.google.protobuf._
|
||||
|
||||
import scala.collection.immutable.VectorBuilder
|
||||
import akka.persistence.fsm.PersistentFsmActor.StateChangeEvent
|
||||
import scala.concurrent.duration
|
||||
import akka.actor.Actor
|
||||
import scala.concurrent.duration.Duration
|
||||
import scala.language.existentials
|
||||
|
||||
/**
|
||||
* Marker trait for all protobuf-serializable messages in `akka.persistence`.
|
||||
|
|
@ -164,6 +163,7 @@ class MessageSerializer(val system: ExtendedActorSystem) extends BaseSerializer
|
|||
payload(persistentMessage.getPayload),
|
||||
persistentMessage.getSequenceNr,
|
||||
if (persistentMessage.hasPersistenceId) persistentMessage.getPersistenceId else Undefined,
|
||||
if (persistentMessage.hasManifest) persistentMessage.getManifest else Undefined,
|
||||
persistentMessage.getDeleted,
|
||||
if (persistentMessage.hasSender) system.provider.resolveActorRef(persistentMessage.getSender) else Actor.noSender)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue