Packages

p

akka

persistence

package persistence

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. abstract class AbstractPersistentActor extends AbstractActor with PersistentActor with Eventsourced

    Java API: an persistent actor - can be used to implement command or event sourcing.

  2. abstract class AbstractPersistentActorWithAtLeastOnceDelivery extends AbstractPersistentActor with AtLeastOnceDeliveryLike

    Java API compatible with lambda expressions

    Java API compatible with lambda expressions

    Use this class instead of UntypedPersistentActor to send messages with at-least-once delivery semantics to destinations. Full documentation in AtLeastOnceDelivery.

    See also

    AtLeastOnceDeliveryLike

    AtLeastOnceDelivery

  3. trait AtLeastOnceDelivery extends PersistentActor with AtLeastOnceDeliveryLike

    Mix-in this trait with your PersistentActor to send messages with at-least-once delivery semantics to destinations.

    Mix-in this trait with your PersistentActor to send messages with at-least-once delivery semantics to destinations. It takes care of re-sending messages when they have not been confirmed within a configurable timeout. Use the AtLeastOnceDeliveryLike#deliver method to send a message to a destination. Call the AtLeastOnceDeliveryLike#confirmDelivery method when the destination has replied with a confirmation message.

    At-least-once delivery implies that original message send order is not always retained and the destination may receive duplicate messages due to possible resends.

    The interval between redelivery attempts can be defined by AtLeastOnceDeliveryLike#redeliverInterval. After a number of delivery attempts a AtLeastOnceDelivery.UnconfirmedWarning message will be sent to self. The re-sending will still continue, but you can choose to call AtLeastOnceDeliveryLike#confirmDelivery to cancel the re-sending.

    The AtLeastOnceDelivery trait has a state consisting of unconfirmed messages and a sequence number. It does not store this state itself. You must persist events corresponding to the deliver and confirmDelivery invocations from your PersistentActor so that the state can be restored by calling the same methods during the recovery phase of the PersistentActor. Sometimes these events can be derived from other business level events, and sometimes you must create separate events. During recovery calls to deliver will not send out the message, but it will be sent later if no matching confirmDelivery was performed.

    Support for snapshots is provided by AtLeastOnceDeliveryLike#getDeliverySnapshot and AtLeastOnceDeliveryLike#setDeliverySnapshot. The AtLeastOnceDeliverySnapshot contains the full delivery state, including unconfirmed messages. If you need a custom snapshot for other parts of the actor state you must also include the AtLeastOnceDeliverySnapshot. It is serialized using protobuf with the ordinary Akka serialization mechanism. It is easiest to include the bytes of the AtLeastOnceDeliverySnapshot as a blob in your custom snapshot.

    See also

    AtLeastOnceDeliveryLike

  4. trait AtLeastOnceDeliveryLike extends Eventsourced

  5. final case class AtomicWrite (payload: Seq[PersistentRepr]) extends PersistentEnvelope with Message with Product with Serializable
  6. sealed abstract class CapabilityFlag extends AnyRef
  7. sealed trait CapabilityFlags extends AnyRef
  8. final case class DeleteMessagesFailure (cause: Throwable, toSequenceNr: Long) extends Product with Serializable

    Reply message to a failed Eventsourced#deleteMessages request.

  9. final case class DeleteMessagesSuccess (toSequenceNr: Long) extends Product with Serializable

    Reply message to a successful Eventsourced#deleteMessages request.

  10. final case class DeleteSnapshotFailure (metadata: SnapshotMetadata, cause: Throwable) extends Response with Product with Serializable

    Sent to a PersistentActor after failed deletion of a snapshot.

    Sent to a PersistentActor after failed deletion of a snapshot.

    metadata

    snapshot metadata.

    cause

    failure cause.

    Annotations
    @SerialVersionUID()
  11. final case class DeleteSnapshotSuccess (metadata: SnapshotMetadata) extends Response with Product with Serializable

    Sent to a PersistentActor after successful deletion of a snapshot.

    Sent to a PersistentActor after successful deletion of a snapshot.

    metadata

    snapshot metadata.

    Annotations
    @SerialVersionUID()
  12. final case class DeleteSnapshotsFailure (criteria: SnapshotSelectionCriteria, cause: Throwable) extends Response with Product with Serializable

    Sent to a PersistentActor after failed deletion of a range of snapshots.

    Sent to a PersistentActor after failed deletion of a range of snapshots.

    criteria

    snapshot selection criteria.

    cause

    failure cause.

    Annotations
    @SerialVersionUID()
  13. final case class DeleteSnapshotsSuccess (criteria: SnapshotSelectionCriteria) extends Response with Product with Serializable

    Sent to a PersistentActor after successful deletion of specified range of snapshots.

    Sent to a PersistentActor after successful deletion of specified range of snapshots.

    criteria

    snapshot selection criteria.

    Annotations
    @SerialVersionUID()
  14. final class DiscardConfigurator extends StashOverflowStrategyConfigurator
  15. trait JournalCapabilityFlags extends CapabilityFlags
  16. class Persistence extends Extension

    Persistence extension.

  17. trait PersistenceIdentity extends AnyRef

    Identification of PersistentActor or PersistentView.

  18. trait PersistenceRecovery extends AnyRef
  19. final class PersistenceSettings extends AnyRef

    Persistence configuration.

  20. trait PersistenceStash extends Stash with StashFactory
  21. trait PersistentActor extends Eventsourced with PersistenceIdentity

    An persistent Actor - can be used to implement command or event sourcing.

  22. trait PersistentRepr extends Message

    Plugin API: representation of a persistent message in the journal plugin API.

    Plugin API: representation of a persistent message in the journal plugin API.

    See also

    akka.persistence.journal.AsyncRecovery

    akka.persistence.journal.AsyncWriteJournal

  23. abstract class PluginSpec extends TestKitBase with WordSpecLike with Matchers with BeforeAndAfterAll with BeforeAndAfterEach
  24. final case class Recovery (fromSnapshot: SnapshotSelectionCriteria = SnapshotSelectionCriteria.Latest, toSequenceNr: Long = Long.MaxValue, replayMax: Long = Long.MaxValue) extends Product with Serializable

    Recovery mode configuration object to be returned in PersistentActor#recovery.

    Recovery mode configuration object to be returned in PersistentActor#recovery.

    By default recovers from latest snapshot replays through to the last available event (last sequenceId).

    Recovery will start from a snapshot if the persistent actor has previously saved one or more snapshots and at least one of these snapshots matches the specified fromSnapshot criteria. Otherwise, recovery will start from scratch by replaying all stored events.

    If recovery starts from a snapshot, the persistent actor is offered that snapshot with a SnapshotOffer message, followed by replayed messages, if any, that are younger than the snapshot, up to the specified upper sequence number bound (toSequenceNr).

    fromSnapshot

    criteria for selecting a saved snapshot from which recovery should start. Default is latest (= youngest) snapshot.

    toSequenceNr

    upper sequence number bound (inclusive) for recovery. Default is no upper bound.

    replayMax

    maximum number of messages to replay. Default is no limit.

    Annotations
    @SerialVersionUID()
  25. abstract class RecoveryCompleted extends AnyRef
  26. final class RecoveryTimedOut extends RuntimeException with NoStackTrace
  27. final case class ReplyToStrategy (response: Any) extends StashOverflowStrategy with Product with Serializable

    Reply to sender with predefined response, and discard the received message silently.

    Reply to sender with predefined response, and discard the received message silently.

    response

    the message replying to sender with

  28. final case class SaveSnapshotFailure (metadata: SnapshotMetadata, cause: Throwable) extends Response with Product with Serializable

    Sent to a PersistentActor after failed saving of a snapshot.

    Sent to a PersistentActor after failed saving of a snapshot.

    metadata

    snapshot metadata.

    cause

    failure cause.

    Annotations
    @SerialVersionUID()
  29. final case class SaveSnapshotSuccess (metadata: SnapshotMetadata) extends Response with Product with Serializable

    Sent to a PersistentActor after successful saving of a snapshot.

    Sent to a PersistentActor after successful saving of a snapshot.

    metadata

    snapshot metadata.

    Annotations
    @SerialVersionUID()
  30. final case class SelectedSnapshot (metadata: SnapshotMetadata, snapshot: Any) extends Product with Serializable

    Plugin API: a selected snapshot matching SnapshotSelectionCriteria.

    Plugin API: a selected snapshot matching SnapshotSelectionCriteria.

    metadata

    snapshot metadata.

    snapshot

    snapshot.

  31. final case class SnapshotMetadata (persistenceId: String, sequenceNr: Long, timestamp: Long = 0L) extends Product with Serializable

    Snapshot metadata.

    Snapshot metadata.

    persistenceId

    id of persistent actor from which the snapshot was taken.

    sequenceNr

    sequence number at which the snapshot was taken.

    timestamp

    time at which the snapshot was saved, defaults to 0 when unknown.

    Annotations
    @SerialVersionUID()
  32. final case class SnapshotOffer (metadata: SnapshotMetadata, snapshot: Any) extends Product with Serializable

    Offers a PersistentActor a previously saved snapshot during recovery.

    Offers a PersistentActor a previously saved snapshot during recovery. This offer is received before any further replayed messages.

    Annotations
    @SerialVersionUID()
  33. final case class SnapshotSelectionCriteria (maxSequenceNr: Long = Long.MaxValue, maxTimestamp: Long = Long.MaxValue, minSequenceNr: Long = 0L, minTimestamp: Long = 0L) extends Product with Serializable

    Selection criteria for loading and deleting snapshots.

    Selection criteria for loading and deleting snapshots.

    maxSequenceNr

    upper bound for a selected snapshot's sequence number. Default is no upper bound, i.e. Long.MaxValue

    maxTimestamp

    upper bound for a selected snapshot's timestamp. Default is no upper bound, i.e. Long.MaxValue

    minSequenceNr

    lower bound for a selected snapshot's sequence number. Default is no lower bound, i.e. 0L

    minTimestamp

    lower bound for a selected snapshot's timestamp. Default is no lower bound, i.e. 0L

    Annotations
    @SerialVersionUID()
    See also

    Recovery

  34. trait SnapshotStoreCapabilityFlags extends CapabilityFlags
  35. trait Snapshotter extends Actor

    Snapshot API on top of the internal snapshot protocol.

  36. sealed trait StashOverflowStrategy extends AnyRef

    This defines how to handle the current received message which failed to stash, when the size of Stash exceeding the capacity of Stash.

  37. trait StashOverflowStrategyConfigurator extends AnyRef

    Implement this interface in order to configure the stashOverflowStrategy for the internal stash of persistent actor.

    Implement this interface in order to configure the stashOverflowStrategy for the internal stash of persistent actor. An instance of this class must be instantiable using a no-arg constructor.

  38. final class ThrowExceptionConfigurator extends StashOverflowStrategyConfigurator
  39. abstract class UntypedPersistentActor extends UntypedActor with Eventsourced with PersistenceIdentity

    Java API: an persistent actor - can be used to implement command or event sourcing.

  40. abstract class UntypedPersistentActorWithAtLeastOnceDelivery extends UntypedPersistentActor with AtLeastOnceDeliveryLike

    Java API: Use this class instead of UntypedPersistentActor to send messages with at-least-once delivery semantics to destinations.

    Java API: Use this class instead of UntypedPersistentActor to send messages with at-least-once delivery semantics to destinations. Full documentation in AtLeastOnceDelivery.

    See also

    AtLeastOnceDeliveryLike

    AtLeastOnceDelivery

  41. final case class Update (await: Boolean = false, replayMax: Long = Long.MaxValue) extends Product with Serializable

    Instructs a PersistentView to update itself.

    Instructs a PersistentView to update itself. This will run a single incremental message replay with all messages from the corresponding persistent id's journal that have not yet been consumed by the view. To update a view with messages that have been written after handling this request, another Update request must be sent to the view.

    await

    if true, processing of further messages sent to the view will be delayed until the incremental message replay, triggered by this update request, completes. If false, any message sent to the view may interleave with replayed persistent event stream.

    replayMax

    maximum number of messages to replay when handling this update request. Defaults to Long.MaxValue (i.e. no limit).

    Annotations
    @SerialVersionUID()
  42. abstract class AbstractPersistentView extends AbstractActor with PersistentView

    Java API: compatible with lambda expressions (to be used with akka.japi.pf.ReceiveBuilder)

    Java API: compatible with lambda expressions (to be used with akka.japi.pf.ReceiveBuilder)

    Annotations
    @deprecated
    Deprecated

    (Since version 2.4) use Persistence Query instead

    See also

    PersistentView

  43. trait PersistentView extends Actor with Snapshotter with Stash with StashFactory with PersistenceIdentity with PersistenceRecovery with ActorLogging

    A view replicates the persistent message stream of a PersistentActor.

    A view replicates the persistent message stream of a PersistentActor. Implementation classes receive the message stream directly from the Journal. These messages can be processed to update internal state in order to maintain an (eventual consistent) view of the state of the corresponding persistent actor. A persistent view can also run on a different node, provided that a replicated journal is used.

    Implementation classes refer to a persistent actors' message stream by implementing persistenceId with the corresponding (shared) identifier value.

    Views can also store snapshots of internal state by calling PersistentView#autoUpdate. The snapshots of a view are independent of those of the referenced persistent actor. During recovery, a saved snapshot is offered to the view with a SnapshotOffer message, followed by replayed messages, if any, that are younger than the snapshot. Default is to offer the latest saved snapshot.

    By default, a view automatically updates itself with an interval returned by autoUpdateInterval. This method can be overridden by implementation classes to define a view instance-specific update interval. The default update interval for all views of an actor system can be configured with the akka.persistence.view.auto-update-interval configuration key. Applications may trigger additional view updates by sending the view Update requests. See also methods

    Annotations
    @deprecated
    Deprecated

    (Since version 2.4) use Persistence Query instead

  44. abstract class UntypedPersistentView extends UntypedActor with PersistentView

    Java API.

    Java API.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.4) use Persistence Query instead

    See also

    PersistentView

Value Members

  1. object AtLeastOnceDelivery
  2. object AtomicWrite extends Serializable
  3. object CapabilityFlag
  4. object DiscardToDeadLetterStrategy extends StashOverflowStrategy with Product with Serializable

    Discard the message to akka.actor.DeadLetter.

  5. object Persistence extends ExtensionId[Persistence] with ExtensionIdProvider

    Persistence extension provider.

  6. object PersistentRepr extends Serializable
  7. object Recovery extends Serializable
  8. object RecoveryCompleted extends RecoveryCompleted with Product with Serializable

    Sent to a PersistentActor when the journal replay has been finished.

    Sent to a PersistentActor when the journal replay has been finished.

    Annotations
    @SerialVersionUID()
  9. object SelectedSnapshot extends Serializable
  10. object SnapshotMetadata extends Serializable
  11. object SnapshotSelectionCriteria extends Serializable
  12. object ThrowOverflowExceptionStrategy extends StashOverflowStrategy with Product with Serializable

    Throw akka.actor.StashOverflowException, hence the persistent actor will starting recovery if guarded by default supervisor strategy.

    Throw akka.actor.StashOverflowException, hence the persistent actor will starting recovery if guarded by default supervisor strategy. Be carefully if used together with persist/persistAll or has many messages needed to replay.

  13. object Update extends Serializable

Ungrouped