Click or drag to resize
Akka.NETAkka.Persistence.Sql.Common.Journal Namespace
The Akka.Persistence.Sql.Common.Journal namespace contains common classes used by the various SQL persistence extensions when journalling.
Classes
  ClassDescription
Public classAbstractQueryExecutor
TBD
Public classAllPersistenceIds
Message type containing set of all PersistenceId received from the database.
Public classBatchingSqlJournalTConnection, TCommand
An abstract journal used by PersistentActors to read/write events to a database. This implementation uses horizontal batching to recycle usage of the DbConnection and to optimize writes made to a database. Batching journal is not going to acquire a new DB connection on every request. Instead it will batch incoming requests and execute them only when a previous operation batch has been completed. This means that requests coming from many actors at the same time will be executed in one batch. Maximum number of batches executed at the same time is defined by MaxConcurrentOperations setting, while max allowed batch size is defined by MaxBatchSize setting. Batching journal also defines MaxBufferSize, which defines a maximum number of all requests stored at once in memory. Once that value is surpassed, journal will start to apply OnBufferOverflow(IJournalMessage) logic on each incoming requests, until a buffer gets freed again. This may be used for overflow strategies, request denials or backpressure.
Public classBatchingSqlJournalSetup
Public classCircuitBreakerSettings
Settings used by CircuitBreaker used internally by the batching journal when executing event batches.
Public classCurrentPersistenceIds
TBD
Public classDefaultTimestampProvider
Default implementation of timestamp provider. Returns UtcNow for any message.
Public classEventAppended
TBD
Public classJournalBufferOverflowException
TBD
Public classJournalEntry
Class used for storing intermediate result of the IPersistentRepresentation in form which is ready to be stored directly in the SQL table.
Public classPersistenceIdAdded
TBD
Public classQueryConfiguration
TBD
Public classReplayedTaggedMessage
TBD
Public classReplayFilterSettings
Settings used for managing filter rules during event replay.
Public classReplayTaggedMessages
TBD
Public classSqlJournal
TBD
Public classSubscribeAllPersistenceIds
Subscribe the `sender` to current and new persistenceIds. Used by query-side. The journal will send one CurrentPersistenceIds to the subscriber followed by PersistenceIdAdded messages when new persistenceIds are created.
Public classSubscribePersistenceId
Subscribe the `sender` to changes (appended events) for a specific `persistenceId`. Used by query-side. The journal will send EventAppended messages to the subscriber when WriteMessagesAsync(IEnumerableAtomicWrite) has been called.
Public classSubscribeTag
Subscribe the `sender` to changes (appended events) for a specific `tag`. Used by query-side. The journal will send TaggedEventAppended messages to the subscriber when `asyncWriteMessages` has been called. Events are tagged by wrapping in Tagged via an IEventAdapter.
Public classTaggedEventAppended
TBD
Public classWriteJournalBatch
Class used for storing whole intermediate set of write changes to be applied within single SQL transaction.
Structures
  StructureDescription
Public structureEventId
Persisted event identifier returning set of keys used to map particular instance of an event to database row id.
Interfaces
  InterfaceDescription
Public interfaceIJournalQueryExecutor
SQL query builder used for generating queries required to perform journal's tasks.
Public interfaceISubscriptionCommand
TBD
Public interfaceITimestampProvider
Interface responsible for generation of timestamps for persisted messages in SQL-based journals.