!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
|
|
@ -83,13 +83,13 @@ object Persistent {
|
|||
*
|
||||
* Internal [[Persistent]] message representation.
|
||||
*
|
||||
* @param resolved `true` by default, `false` for replayed messages. Set to `true` by a channel if this
|
||||
* message is replayed and its sender reference was resolved. Channels use this field to
|
||||
* avoid redundant sender reference resolutions.
|
||||
* @param processorId Id of processor that journaled the message.
|
||||
* @param channelId Id of last channel that delivered the message to a destination.
|
||||
* @param sender Serialized sender reference.
|
||||
* @param deleted `true` if this message is marked as deleted.
|
||||
* @param resolved `true` by default, `false` for replayed messages. Set to `true` by a channel if this
|
||||
* message is replayed and its sender reference was resolved. Channels use this field to
|
||||
* avoid redundant sender reference resolutions.
|
||||
* @param confirms Channel ids of delivery confirmations that are available for this message. Only non-empty
|
||||
* for replayed messages.
|
||||
* @param confirmTarget Delivery confirmation target.
|
||||
|
|
@ -102,14 +102,14 @@ object Persistent {
|
|||
case class PersistentImpl(
|
||||
payload: Any,
|
||||
sequenceNr: Long = 0L,
|
||||
resolved: Boolean = true,
|
||||
processorId: String = "",
|
||||
channelId: String = "",
|
||||
sender: String = "",
|
||||
processorId: String = PersistentImpl.Undefined,
|
||||
channelId: String = PersistentImpl.Undefined,
|
||||
deleted: Boolean = false,
|
||||
resolved: Boolean = true,
|
||||
confirms: Seq[String] = Nil,
|
||||
confirmMessage: Confirm = null,
|
||||
confirmTarget: ActorRef = null,
|
||||
confirmMessage: Confirm = null) extends Persistent {
|
||||
sender: ActorRef = null) extends Persistent {
|
||||
|
||||
def withPayload(payload: Any): Persistent =
|
||||
copy(payload = payload)
|
||||
|
|
@ -126,21 +126,17 @@ case class PersistentImpl(
|
|||
}
|
||||
|
||||
object PersistentImpl {
|
||||
/**
|
||||
* Java Plugin API.
|
||||
*/
|
||||
def create(payload: Any, sequenceNr: Long, resolved: Boolean, processorId: String, channelId: String, sender: String, deleted: Boolean, confirms: Seq[String]): PersistentImpl =
|
||||
PersistentImpl(payload, sequenceNr, resolved, processorId, channelId, sender, deleted, confirms)
|
||||
val Undefined = ""
|
||||
|
||||
/**
|
||||
* Java Plugin API.
|
||||
*/
|
||||
def create(payload: Any, sequenceNr: Long, resolved: Boolean, processorId: String, channelId: String, sender: String, deleted: Boolean, confirms: Seq[String], confirmTarget: ActorRef, confirmMessage: Confirm): PersistentImpl =
|
||||
PersistentImpl(payload, sequenceNr, resolved, processorId, channelId, sender, deleted, confirms, confirmTarget, confirmMessage)
|
||||
def create(payload: Any, sequenceNr: Long, processorId: String, channelId: String, deleted: Boolean, resolved: Boolean, confirms: Seq[String], confirmMessage: Confirm, confirmTarget: ActorRef, sender: ActorRef): PersistentImpl =
|
||||
PersistentImpl(payload, sequenceNr, processorId, channelId, deleted, resolved, confirms, confirmMessage, confirmTarget, sender)
|
||||
}
|
||||
|
||||
/**
|
||||
* Receive by a processor when a journal failed to write a [[Persistent]] message.
|
||||
* Received by a processor when a journal failed to write a [[Persistent]] message.
|
||||
*
|
||||
* @param payload payload of the persistent message.
|
||||
* @param sequenceNr sequence number of the persistent message.
|
||||
|
|
@ -149,6 +145,8 @@ object PersistentImpl {
|
|||
case class PersistenceFailure(payload: Any, sequenceNr: Long, cause: Throwable)
|
||||
|
||||
/**
|
||||
* Internal API.
|
||||
*
|
||||
* Message to confirm the receipt of a persistent message (sent via a [[Channel]]).
|
||||
*/
|
||||
@SerialVersionUID(1L)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue