Namespace Akka.Persistence.Sql.Common.Journal
Classes
AbstractQueryExecutor
TBD
AllPersistenceIds
Message type containing set of all PersistenceId received from the database.
BatchingSqlJournal<TConnection, 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.
BatchingSqlJournalSetup
All settings that can be used by implementations of BatchingSqlJournal<TConnection, TCommand>.
CircuitBreakerSettings
Settings used by CircuitBreaker used internally by the batching journal when executing event batches.
CurrentPersistenceIds
TBD
DefaultTimestampProvider
Default implementation of timestamp provider. Returns UtcNow for any message.
EventAppended
TBD
EventReplayFailure
EventReplaySuccess
JournalBufferOverflowException
TBD
JournalEntry
Class used for storing intermediate result of the IPersistentRepresentation in form which is ready to be stored directly in the SQL table.
NewEventAppended
QueryConfiguration
TBD
ReplayAllEvents
TBD
ReplayedEvent
TBD
ReplayedTaggedMessage
TBD
ReplayFilterSettings
Settings used for managing filter rules during event replay.
ReplayTaggedMessages
TBD
SelectCurrentPersistenceIds
SqlJournal
TBD
SubscribeNewEvents
Subscribe the sender
to new appended events.
Used by query-side. The journal will send NewEventAppended messages to
the subscriber when asyncWriteMessages
has been called.
SubscribePersistenceId
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(IEnumerable<AtomicWrite>) has been called.
SubscribeTag
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.
TaggedEventAppended
TBD
TimestampProviderProvider
WriteJournalBatch
Class used for storing whole intermediate set of write changes to be applied within single SQL transaction.
Structs
EventId
Persisted event identifier returning set of keys used to map particular instance of an event to database row id.
Interfaces
IJournalQueryExecutor
SQL query builder used for generating queries required to perform journal's tasks.
ISubscriptionCommand
ITimestampProvider
Interface responsible for generation of timestamps for persisted messages in SQL-based journals.