Click or drag to resize
Akka.NETPersistentView Class
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 [[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 `` configuration key. Applications may trigger additional view updates by sending the view Update requests. See also methods
Inheritance Hierarchy

Namespace:  Akka.Persistence
Assembly:  Akka.Persistence (in Akka.Persistence.dll) Version: (
public abstract class PersistentView : ActorBase, 
	ISnapshotter, IPersistentIdentity, IWithUnboundedStash, IActorStash, IRequiresMessageQueue<IUnboundedDequeBasedMessageQueueSemantics>, 

The PersistentView type exposes the following members.

Protected methodPersistentView
Public propertyAutoUpdateInterval
Time interval to automatic updates. Used only when IsAutoUpdate value is true.
Public propertyAutoUpdateReplayMax
The maximum number of messages to replay per update.
Public propertyIsAutoUpdate
If true, this view will update itself automatically within an interval specified by AutoUpdateInterval. If false, application must update this view explicitly with Update requests.
Public propertyIsPersistent
If true, the currently processed message was persisted - it sent from the Journal. If false, the currently processed message comes from another actor ('/user/*' path).
Public propertyIsRecovering
Returns true if this persistent view is currently recovering.
Public propertyIsRecoveryFinished
Returns true if this persistent view has successfully finished recovery.
Public propertyJournal
Public propertyJournalPluginId
Public propertyLastSequenceNr
Highest received sequence number so far or 0 it none persistent event has been replayed yet.
Public propertyPersistenceId
Id of the persistent entity for which messages should be replayed.
Public propertyRecovery
Called when the persistent view is started for the first time. The returned Recovery object defines how the actor will recover its persistent state before handling the first incoming message. To skip recovery completely return None.
Protected propertySelf
Gets the self ActorRef
(Inherited from ActorBase.)
Protected propertySender
Gets the sending ActorRef of the current message
(Inherited from ActorBase.)
Public propertySnapshotPluginId
Public propertySnapshotSequenceNr
Gets last sequence number.
Public propertySnapshotStore
Public propertySnapshotterId
Gets the ViewId.
Public propertyStash
Public propertyViewId
Used as identifier for snapshots performed by this PersistentView. This allows the View to keep separate snapshots of data than the PersistentActor originating the message stream. The usual case is to have a different identifiers for ViewId and PersistenceId.
Public methodAroundPostRestart
Can be overridden to intercept calls to `PostRestart`. Calls `PostRestart` by default.
(Inherited from ActorBase.)
Public methodAroundPostStop
Can be overridden to intercept calls to `PostStop`. Calls `PostStop` by default..
(Inherited from ActorBase.)
Public methodAroundPreRestart
Can be overridden to intercept calls to `PreRestart`. Calls `PreRestart` by default.
(Inherited from ActorBase.)
Public methodAroundPreStart
(Overrides ActorBaseAroundPreStart.)
Protected methodAroundReceive
(Overrides ActorBaseAroundReceive(Receive, Object).)
Protected methodBecome
Changes the actor's command behavior and replaces the current receive handler with the specified handler.
(Inherited from ActorBase.)
Protected methodBecomeStacked
Changes the actor's behavior and replaces the current receive handler with the specified handler. The current handler is stored on a stack, and you can revert to it by calling UnbecomeStacked
Please note, that in order to not leak memory, make sure every call to BecomeStacked(Receive) is matched with a call to UnbecomeStacked.
(Inherited from ActorBase.)
Public methodDeleteSnapshot
Deletes the snapshot identified by sequenceNr. The PersistentActor will be notified about the status of the deletion via an DeleteSnapshotSuccess or DeleteSnapshotFailure message.
Public methodDeleteSnapshots
Deletes all snapshots matching criteria. The PersistentActor will be notified about the status of the deletion via an DeleteSnapshotsSuccess or DeleteSnapshotsFailure message.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodLoadSnapshot
Instructs the snapshot store to load the specified snapshot and send it via an SnapshotOffer to the running PersistentActor.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnReplayError
Called whenever a message replay fails. By default it logs the error. Subclass may override to customize logging. The PersistentView will not stop or throw exception due to this. It will try again on next update.
Protected methodPostRestart
User overridable callback: By default it calls `PreStart()`.

Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash.

(Inherited from ActorBase.)
Protected methodPostStop
(Overrides ActorBasePostStop.)
Protected methodPreRestart
(Overrides ActorBasePreRestart(Exception, Object).)
Protected methodPreStart
(Overrides ActorBasePreStart.)
Protected methodReceive
Processor for user defined messages.
(Inherited from ActorBase.)
Public methodSaveSnapshot
Saves snapshot of current ISnapshotter state. The PersistentActor will be notified about the success or failure of this via an SaveSnapshotSuccess or SaveSnapshotFailure message.
Protected methodSetReceiveTimeout

Defines the inactivity timeout after which the sending of a ReceiveTimeout message is triggered. When specified, the receive function should be able to handle a ReceiveTimeout message.

Please note that the receive timeout might fire and enqueue the ReceiveTimeout message right after another message was enqueued; hence it is not guaranteed that upon reception of the receive timeout there must have been an idle period beforehand as configured via this method.

Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity periods). Pass in null to switch off this feature.

(Inherited from ActorBase.)
Protected methodSupervisorStrategy
(Inherited from ActorBase.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodUnbecomeStacked
Reverts the Actor behavior to the previous one on the behavior stack.
(Inherited from ActorBase.)
Protected methodUnhandled
(Overrides ActorBaseUnhandled(Object).)
Protected fieldExtension
Extension Methods
See Also