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.Delete(); } 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(LogLevel.Warn)) .Transport(t => t.UseAzureServiceBus(busConnection, InputQueueName, "error")) .Sagas(s => s.Use(sagaPersister)) .Behavior(b => b.SetMaxRetriesFor <Exception>(100)) .CreateBus() .Start(3); }
void InitializeBus(int numberOfRetries, BuiltinContainerAdapter adapter, ManualResetEvent poisonEventToSet) { RebusLoggerFactory.Current = new ConsoleLoggerFactory(false) { MinLevel = LogLevel.Warn }; var connectionString = AzureServiceBusMessageQueueFactory.ConnectionString; using (var queue = new AzureServiceBusMessageQueue(connectionString, "test_input")) { queue.Delete(); } Configure.With(adapter) .Transport(t => t.UseAzureServiceBus(connectionString, "test_input", "error")) .Behavior(b => b.SetMaxRetriesFor <FacilityException>(numberOfRetries)) .Events(e => e.PoisonMessage += (bus, message, info) => poisonEventToSet.Set()) .CreateBus() .Start(1); }
protected override void DoSetUp() { events = new ConcurrentQueue <string>(); adapter = new BuiltinContainerAdapter(); TrackDisposable(adapter); using (var queue = new AzureServiceBusMessageQueue(connectionString, QueueName)) { queue.Delete(); } AzureServiceBusMessageQueue.PeekLockDurationOnQueueInitialization = TimeSpan.FromMinutes(1); Configure.With(adapter) .Logging(l => l.Console(minLevel: LogLevel.Info)) .Transport(t => t.UseAzureServiceBus(connectionString, QueueName, "error") .AutomaticallyRenewPeekLockEvery(TimeSpan.FromMinutes(0.8))) .CreateBus() .Start(); }