Class SnapshotStore

java.lang.Object
org.apache.pekko.persistence.snapshot.japi.SnapshotStore
All Implemented Interfaces:
Actor, ActorLogging, SnapshotStore

public abstract class SnapshotStore extends Object implements SnapshotStore
Java API: abstract snapshot store.
  • Constructor Details

    • SnapshotStore

      public SnapshotStore()
  • Method Details

    • context

      public ActorContext context()
      Description copied from interface: Actor
      Scala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such as forward.

      WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!

      pekko.actor.ActorContext is the Scala API. getContext returns a pekko.actor.AbstractActor.ActorContext, which is the Java API of the actor context.

      Specified by:
      context in interface Actor
    • deleteAsync

      public final scala.concurrent.Future<scala.runtime.BoxedUnit> deleteAsync(SnapshotMetadata metadata)
      Description copied from interface: SnapshotStore
      Plugin API: deletes the snapshot identified by metadata.

      This call is protected with a circuit-breaker.

      Specified by:
      deleteAsync in interface SnapshotStore
      Parameters:
      metadata - snapshot metadata.
    • deleteAsync

      public final scala.concurrent.Future<scala.runtime.BoxedUnit> deleteAsync(String persistenceId, SnapshotSelectionCriteria criteria)
      Description copied from interface: SnapshotStore
      Plugin API: deletes all snapshots matching criteria.

      This call is protected with a circuit-breaker.

      Specified by:
      deleteAsync in interface SnapshotStore
      Parameters:
      persistenceId - id of the persistent actor.
      criteria - selection criteria for deleting.
    • loadAsync

      public final scala.concurrent.Future<scala.Option<SelectedSnapshot>> loadAsync(String persistenceId, SnapshotSelectionCriteria criteria)
      Description copied from interface: SnapshotStore
      Plugin API: asynchronously loads a snapshot.

      If the future Option is None then all events will be replayed, i.e. there was no snapshot. If snapshot could not be loaded the Future should be completed with failure. That is important because events may have been deleted and just replaying the events might not result in a valid state.

      This call is protected with a circuit-breaker.

      Specified by:
      loadAsync in interface SnapshotStore
      Parameters:
      persistenceId - id of the persistent actor.
      criteria - selection criteria for loading.
    • org$apache$pekko$actor$Actor$_setter_$context_$eq

      protected void org$apache$pekko$actor$Actor$_setter_$context_$eq(ActorContext x$1)
      Description copied from interface: Actor
      Scala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such as forward.

      WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!

      pekko.actor.ActorContext is the Scala API. getContext returns a pekko.actor.AbstractActor.ActorContext, which is the Java API of the actor context.

      Specified by:
      org$apache$pekko$actor$Actor$_setter_$context_$eq in interface Actor
    • org$apache$pekko$actor$Actor$_setter_$self_$eq

      protected final void org$apache$pekko$actor$Actor$_setter_$self_$eq(ActorRef x$1)
      Description copied from interface: Actor
      The 'self' field holds the ActorRef for this actor.

      Can be used to send messages to itself:
       self ! message
       
      Specified by:
      org$apache$pekko$actor$Actor$_setter_$self_$eq in interface Actor
    • org$apache$pekko$persistence$snapshot$SnapshotStore$_setter_$receiveSnapshotStore_$eq

      protected final void org$apache$pekko$persistence$snapshot$SnapshotStore$_setter_$receiveSnapshotStore_$eq(scala.PartialFunction<Object,scala.runtime.BoxedUnit> x$1)
      Specified by:
      org$apache$pekko$persistence$snapshot$SnapshotStore$_setter_$receiveSnapshotStore_$eq in interface SnapshotStore
    • receiveSnapshotStore

      public final scala.PartialFunction<Object,scala.runtime.BoxedUnit> receiveSnapshotStore()
      Specified by:
      receiveSnapshotStore in interface SnapshotStore
    • saveAsync

      public final scala.concurrent.Future<scala.runtime.BoxedUnit> saveAsync(SnapshotMetadata metadata, Object snapshot)
      Description copied from interface: SnapshotStore
      Plugin API: asynchronously saves a snapshot.

      This call is protected with a circuit-breaker.

      Specified by:
      saveAsync in interface SnapshotStore
      Parameters:
      metadata - snapshot metadata.
      snapshot - snapshot.
    • self

      public final ActorRef self()
      Description copied from interface: Actor
      The 'self' field holds the ActorRef for this actor.

      Can be used to send messages to itself:
       self ! message
       
      Specified by:
      self in interface Actor
    • doLoadAsync

      Java API, Plugin API: asynchronously loads a snapshot.
      Parameters:
      persistenceId - id of the persistent actor.
      criteria - selection criteria for loading.
      Returns:
      a CompletionStage that will be completed when the loading is done (in Pekko 1.x, this was a Scala Future)
    • doSaveAsync

      CompletionStage<Void> doSaveAsync(SnapshotMetadata metadata, Object snapshot)
      Java API, Plugin API: asynchronously saves a snapshot.
      Parameters:
      metadata - snapshot metadata.
      snapshot - snapshot.
      Returns:
      a CompletionStage that will be completed when the saving is done (in Pekko 1.x, this was a Scala Future)
    • doDeleteAsync

      CompletionStage<Void> doDeleteAsync(SnapshotMetadata metadata)
      Java API, Plugin API: deletes the snapshot identified by `metadata`.
      Parameters:
      metadata - snapshot metadata.
      Returns:
      a CompletionStage that will be completed when the deletion is done (in Pekko 1.x, this was a Scala Future)
    • doDeleteAsync

      CompletionStage<Void> doDeleteAsync(String persistenceId, SnapshotSelectionCriteria criteria)
      Java API, Plugin API: deletes all snapshots matching `criteria`.
      Parameters:
      persistenceId - id of the persistent actor.
      criteria - selection criteria for deleting.
      Returns:
      a CompletionStage that will be completed when the deletion is done (in Pekko 1.x, this was a Scala Future)