Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        protected override void DoSetUp()
        {
            DropSagaTables();

            persister = new SqlServerSagaPersister(GetOrCreateConnection, SagaIndexTableName, SagaTableName);
            persister.EnsureTablesAreCreated();
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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;
 }
Exemplo n.º 9
0
 protected override void DoSetUp()
 {
     DropSagaTables();
     persister = new SqlServerSagaPersister(ConnectionStrings.SqlServer, SagaIndexTableName, SagaTableName);
 }