/// <summary> /// Configures Rebus to store sagas in SQL Server. Use this overload to have the persister use the /// same <see cref="SqlConnection"/> as you're using, thus enlisting in whatever transactional /// behavior you might be using. /// </summary> public SqlServerSagaPersisterFluentConfigurer StoreInSqlServer(Func <ConnectionHolder> connectionFactoryMethod, string sagaTable, string sagaIndexTable) { var persister = new SqlServerSagaPersister(connectionFactoryMethod, sagaIndexTable, sagaTable); Use(persister); return(new SqlServerSagaPersisterFluentConfigurer(persister)); }
/// <summary> /// Configures Rebus to store sagas in SQL Server. Use this overload when your saga doesn't perform /// any additional work in the same SQL Server. /// </summary> public SqlServerSagaPersisterFluentConfigurer StoreInSqlServer(string connectionstring, string sagaTable, string sagaIndexTable) { var persister = new SqlServerSagaPersister(connectionstring, sagaIndexTable, sagaTable); Use(persister); return(new SqlServerSagaPersisterFluentConfigurer(persister)); }
protected override void DoSetUp() { DropSagaTables(); persister = new SqlServerSagaPersister(GetOrCreateConnection, SagaIndexTableName, SagaTableName); persister.EnsureTablesAreCreated(); }
protected override void DoSetUp() { SqlServerFixtureBase.DropTable(SagaIndex); SqlServerFixtureBase.DropTable(SagaTable); var busConnection = AzureServiceBusMessageQueueFactory.ConnectionString; var sqlConnection = SqlServerFixtureBase.ConnectionString; using (var azureQueue = new AzureServiceBusMessageQueue(busConnection, InputQueueName)) { azureQueue.Purge(); } allRepliesReceived = new ManualResetEvent(false); adapter = new BuiltinContainerAdapter(); adapter.Register(() => new RequestHandler(adapter.Bus)); sagaPersister = new SqlServerSagaPersister(sqlConnection, SagaIndex, SagaTable).EnsureTablesAreCreated(); Configure.With(TrackDisposable(adapter)) .Logging(l => l.ColoredConsole(minLevel: LogLevel.Warn)) .Transport(t => t.UseAzureServiceBus(busConnection, InputQueueName, "error")) .Sagas(s => s.Use(sagaPersister)) .CreateBus() .Start(3); }
protected override void DoSetUp() { // ensure the two tables are dropped try { ExecuteCommand("drop table " + SagaTableName); } catch { } try { ExecuteCommand("drop table " + SagaIndexTableName); } catch { } persister = new SqlServerSagaPersister(ConnectionStrings.SqlServer, SagaIndexTableName, SagaTableName); }
protected override void DoSetUp() { // ensure the two tables are dropped try { ExecuteCommand("drop table " + SagaTableName); } catch { } try { ExecuteCommand("drop table " + SagaIndexTableName); } catch { } persister = new SqlServerSagaPersister(GetOrCreateConnection, SagaIndexTableName, SagaTableName); persister.EnsureTablesAreCreated(); }
public IStoreSagaData CreatePersister() { const string sagaTableName = "test_sagas"; const string sagaIndexTableName = "test_saga_index"; var sqlServerSagaPersister = new SqlServerSagaPersister(ConnectionStrings.SqlServer, sagaIndexTableName, sagaTableName); sqlServerSagaPersister.EnsureTablesAreCreated(); DeleteRows(sagaTableName); DeleteRows(sagaIndexTableName); return(sqlServerSagaPersister); }
internal SqlServerSagaPersisterFluentConfigurer(SqlServerSagaPersister persister) { this.persister = persister; }
protected override void DoSetUp() { DropSagaTables(); persister = new SqlServerSagaPersister(ConnectionStrings.SqlServer, SagaIndexTableName, SagaTableName); }