C# Класс Akka.Persistence.Sql.Common.Journal.JournalDbEngine

Class used to abstract SQL persistence capabilities for concrete implementation of actor journal.
Наследование: IDisposable
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
Settings JournalSettings

Защищенные свойства (Protected)

Свойство Тип Описание
TimestampProvider ITimestampProvider

Открытые методы

Метод Описание
Close ( ) : void

Closes database connection if exists.

CreateDbConnection ( ) : DbConnection
DeleteMessagesToAsync ( string persistenceId, long toSequenceNr ) : Task

Asynchronously deletes all persisted messages identified by provided persistenceId up to provided message sequence number (inclusive).

ReadEvents ( object queryId, IEnumerable hints, IActorRef sender, Action replayCallback ) : Task

Performs

ReadHighestSequenceNrAsync ( string persistenceId, long fromSequenceNr ) : Task

Asynchronously reads a highest sequence number of the event stream related with provided persistenceId.

ReplayMessagesAsync ( string persistenceId, long fromSequenceNr, long toSequenceNr, long max, IActorRef sender, Action recoveryCallback ) : Task

Asynchronously replays all requested messages related to provided persistenceId, using provided sequence ranges (inclusive) with max number of messages replayed (counting from the beginning). Replay callback is invoked for each replayed message.

WriteMessagesAsync ( IEnumerable messages ) : Task>

Asynchronously writes all persistent messages inside SQL Server database. Specific table used for message persistence may be defined through configuration within 'akka.persistence.journal.sql-server' scope with 'schema-name' and 'table-name' keys.

Защищенные методы

Метод Описание
CopyParamsToCommand ( DbCommand sqlCommand, JournalEntry entry ) : void

Copies values from entities to database command.

CreateDbConnection ( string connectionString ) : DbConnection

Initializes a database connection.

GetConnectionString ( ) : string

Returns connection string from either HOCON configuration or <connectionStrings> section of app.config.

JournalDbEngine ( ActorSystem system ) : System

Приватные методы

Метод Описание
CompleteCommand ( DbCommand sqlCommand, DbConnection connection ) : void
CreateTimestampProvider ( ) : ITimestampProvider
IDisposable ( ) : void
InsertInTransactionAsync ( DbCommand sqlCommand, IEnumerable journalEntries ) : Task
ToJournalEntry ( IPersistentRepresentation message ) : JournalEntry
TryUnwrapException ( Exception e ) : Exception

Описание методов

Close() публичный Метод

Closes database connection if exists.
public Close ( ) : void
Результат void

CopyParamsToCommand() защищенный абстрактный Метод

Copies values from entities to database command.
protected abstract CopyParamsToCommand ( DbCommand sqlCommand, JournalEntry entry ) : void
sqlCommand System.Data.Common.DbCommand
entry JournalEntry
Результат void

CreateDbConnection() публичный Метод

public CreateDbConnection ( ) : DbConnection
Результат System.Data.Common.DbConnection

CreateDbConnection() защищенный абстрактный Метод

Initializes a database connection.
protected abstract CreateDbConnection ( string connectionString ) : DbConnection
connectionString string
Результат System.Data.Common.DbConnection

DeleteMessagesToAsync() публичный Метод

Asynchronously deletes all persisted messages identified by provided persistenceId up to provided message sequence number (inclusive).
public DeleteMessagesToAsync ( string persistenceId, long toSequenceNr ) : Task
persistenceId string
toSequenceNr long
Результат Task

GetConnectionString() защищенный Метод

Returns connection string from either HOCON configuration or <connectionStrings> section of app.config.
protected GetConnectionString ( ) : string
Результат string

JournalDbEngine() защищенный Метод

protected JournalDbEngine ( ActorSystem system ) : System
system ActorSystem
Результат System

ReadEvents() публичный Метод

Performs
public ReadEvents ( object queryId, IEnumerable hints, IActorRef sender, Action replayCallback ) : Task
queryId object
hints IEnumerable
sender IActorRef
replayCallback Action
Результат Task

ReadHighestSequenceNrAsync() публичный Метод

Asynchronously reads a highest sequence number of the event stream related with provided persistenceId.
public ReadHighestSequenceNrAsync ( string persistenceId, long fromSequenceNr ) : Task
persistenceId string
fromSequenceNr long
Результат Task

ReplayMessagesAsync() публичный Метод

Asynchronously replays all requested messages related to provided persistenceId, using provided sequence ranges (inclusive) with max number of messages replayed (counting from the beginning). Replay callback is invoked for each replayed message.
public ReplayMessagesAsync ( string persistenceId, long fromSequenceNr, long toSequenceNr, long max, IActorRef sender, Action recoveryCallback ) : Task
persistenceId string Identifier of persistent messages stream to be replayed.
fromSequenceNr long Lower inclusive sequence number bound. Unbound by default.
toSequenceNr long Upper inclusive sequence number bound. Unbound by default.
max long Maximum number of messages to be replayed. Unbound by default.
sender IActorRef
recoveryCallback Action Action invoked for each replayed message.
Результат Task

WriteMessagesAsync() публичный Метод

Asynchronously writes all persistent messages inside SQL Server database. Specific table used for message persistence may be defined through configuration within 'akka.persistence.journal.sql-server' scope with 'schema-name' and 'table-name' keys.
public WriteMessagesAsync ( IEnumerable messages ) : Task>
messages IEnumerable
Результат Task>

Описание свойств

Settings публичное свойство

Settings applied to journal mapped from HOCON config file.
public JournalSettings Settings
Результат JournalSettings

TimestampProvider защищенное свойство

Timestamp provider used for generation of timestamps for incoming persistent messages.
protected ITimestampProvider TimestampProvider
Результат ITimestampProvider