object DurableProducerQueue
Actor message protocol for storing and confirming reliable delivery of messages. A akka.actor.typed.Behavior implementation of this protocol can optionally be used with ProducerController when messages shall survive a crash of the producer side.
An implementation of this exists in akka.persistence.typed.delivery.EventSourcedProducerQueue
.
- Annotations
- @ApiMayChange()
- Source
- DurableProducerQueue.scala
- Alphabetic
- By Inheritance
- DurableProducerQueue
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait Command[A] extends AnyRef
- type ConfirmationQualifier = String
- final case class LoadState[A](replyTo: ActorRef[State[A]]) extends Command[A] with Product with Serializable
Request that is used at startup to retrieve the unconfirmed messages and current sequence number.
- final class MessageSent[A] extends Event
The fact (event) that a message has been sent.
- type SeqNr = Long
- final case class State[A](currentSeqNr: SeqNr, highestConfirmedSeqNr: SeqNr, confirmedSeqNr: Map[ConfirmationQualifier, (SeqNr, TimestampMillis)], unconfirmed: IndexedSeq[MessageSent[A]]) extends DeliverySerializable with Product with Serializable
- final case class StoreMessageConfirmed[A](seqNr: SeqNr, confirmationQualifier: ConfirmationQualifier, timestampMillis: TimestampMillis) extends Command[A] with Product with Serializable
Store the fact that a message has been confirmed to be delivered and processed.
Store the fact that a message has been confirmed to be delivered and processed.
This command may be retied and the implementation should be idempotent, i.e. deduplicate already processed sequence numbers.
- final case class StoreMessageSent[A](sent: MessageSent[A], replyTo: ActorRef[StoreMessageSentAck]) extends Command[A] with Product with Serializable
Store the fact that a message is to be sent.
Store the fact that a message is to be sent. Replies with StoreMessageSentAck when the message has been successfully been stored.
This command may be retied and the implementation should be idempotent, i.e. deduplicate already processed sequence numbers.
- final case class StoreMessageSentAck(storedSeqNr: SeqNr) extends Product with Serializable
- type TimestampMillis = Long
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val NoQualifier: ConfirmationQualifier
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object MessageSent
- object State extends Serializable