Akka.Persistence.SqlServer.Hosting
May 4, 2023 ยท View on GitHub
Akka.Hosting extension methods to add Akka.Persistence.SqlServer to an ActorSystem
Akka.Persistence.SqlServer Extension Methods
WithSqlServerPersistence() Method
public static AkkaConfigurationBuilder WithSqlServerPersistence(
this AkkaConfigurationBuilder builder,
string connectionString,
PersistenceMode mode = PersistenceMode.Both,
Action<AkkaPersistenceJournalBuilder>? configurator = null,
bool autoInitialize = true);
public static AkkaConfigurationBuilder WithSqlServerPersistence(
this AkkaConfigurationBuilder builder,
Action<SqlServerJournalOptions>? journalConfigurator = null,
Action<SqlServerSnapshotOptions>? snapshotConfigurator = null,
Action<AkkaPersistenceJournalBuilder>? configurator = null);
public static AkkaConfigurationBuilder WithSqlServerPersistence(
this AkkaConfigurationBuilder builder,
SqlServerJournalOptions? journalOptions = null,
SqlServerSnapshotOptions? snapshotOptions = null,
Action<AkkaPersistenceJournalBuilder>? configurator = null);
Parameters
-
connectionStringstringConnection string used for database access.
-
modePersistenceModeDetermines which settings should be added by this method call.
PersistenceMode.Journal: Only add the journal settingsPersistenceMode.SnapshotStore: Only add the snapshot store settingsPersistenceMode.Both: Add both journal and snapshot store settings
-
configuratorAction<AkkaPersistenceJournalBuilder>An Action delegate used to configure an
AkkaPersistenceJournalBuilderinstance. Used to configure Event Adapters -
journalConfiguratorAction<SqlServerJournalOptions>An Action delegate to configure a
SqlServerJournalOptionsinstance. -
snapshotConfiguratorAction<SqlServerSnapshotOptions>An Action delegate to configure a
SqlServerSnapshotOptionsinstance. -
journalOptionsSqlServerJournalOptionsAn
SqlServerJournalOptionsinstance to configure the SqlServer journal. -
snapshotOptionsSqlServerSnapshotOptionsAn
SqlServerSnapshotOptionsinstance to configure the SqlServer snapshot store.
Example
using var host = new HostBuilder()
.ConfigureServices((context, services) =>
{
services.AddAkka("ecsBootstrapDemo", (builder, provider) =>
{
builder
.WithRemoting("localhost", 8110)
.WithClustering()
.WithSqlServerPersistence("your-sqlserver-connection-string");
});
}).Build();
await host.RunAsync();