public void Test() { var dev = AzureStorage.CreateConfigurationForDev(); WipeAzureAccount.Fast(s => s.StartsWith("test-"), dev); var events = new Subject <ISystemEvent>(); var b = new CqrsEngineBuilder(); b.Azure(c => c.AddAzureProcess(dev, "test-publish")); b.Advanced.RegisterObserver(events); var engine = b.Build(); var source = new CancellationTokenSource(); engine.Start(source.Token); var builder = new CqrsClientBuilder(); builder.Azure(c => c.AddAzureSender(dev, "test-publish")); var client = builder.Build(); client.Sender.SendOne(new Message()); using (engine) using (events.OfType <EnvelopeAcked>().Subscribe(e => source.Cancel())) { source.Token.WaitHandle.WaitOne(5000); source.Cancel(); } }
protected override void EngineConfig(CqrsEngineBuilder b) { var account = AzureStorage.CreateConfigurationForDev(); WipeAzureAccount.Fast(s => s.StartsWith("test-"), account); b.Azure(m => { m.AddAzureProcess(account, new[] {"test-incoming"}, c => c.QueueVisibility(1)); m.AddAzureSender(account, "test-incoming", x => x.IdGeneratorForTests()); }); b.Storage(m => m.AtomicIsInAzure(account, DefaultWithCustomConfig)); }
protected override void EngineConfig(CqrsEngineBuilder b) { var account = AzureStorage.CreateConfigurationForDev(); WipeAzureAccount.Fast(s => s.StartsWith("test-"), account); b.Azure(m => { m.AddAzureProcess(account, new[] { "test-incoming" }, c => c.QueueVisibility(1)); m.AddAzureSender(account, "test-incoming", x => x.IdGeneratorForTests()); }); b.Storage(m => m.AtomicIsInAzure(account, DefaultWithCustomConfig)); }
protected override CqrsEngineHost BuildHost() { var builder = new CqrsEngineBuilder(); //NOTE: Core Lokad CQRS Initialization builder.UseProtoBufSerialization(); builder.Domain(config => { config.InAssemblyOf<CreateMessage>(); config.InAssemblyOf<CreateMessageHandler>(); config.ContextFactory(MyMessageContext.Factory); }); var storageConfig = CreateCloudStorageConfig(); builder.Azure(config => { config.AddAzureProcess(storageConfig, Queues.MESSAGES); config.AddAzureSender(storageConfig, Queues.MESSAGES); }); builder.Storage(config => config.AtomicIsInAzure(storageConfig, s => { s.WithAssemblyOf<MessageView>(); s.CustomStaticSerializer(new AtomicStorageSerializerWithProtoBuf()); })); //NOTE: Event Store Initialization builder.ConfigureJonathanOliverEventStore(config => { var connectionString = AzureSettingsProvider.GetString("EventStoreConnectionString"); config.ConnectionString(connectionString); config.Hooks(p => p.Add<MyNullPipelineHook>()); config.Snapshots(s => { //snapshotting isn't implemented correctly right now. s.Disable(); s.CheckEvery(TimeSpan.FromSeconds(30)); //set this to something reasonable like 250. //It's so low here to demonstrate background "out-of-band" snapshotting. s.MaxThreshold(2); }); }); return builder.Build(); }
protected override void CurrentConfig(CqrsEngineBuilder b) { var dev = AzureStorage.CreateConfigurationForDev(); WipeAzureAccount.Fast(s => s.StartsWith("test-"), dev); b.Azure(m => { m.AddAzureProcess(dev, new[] { "test-incoming" }, c => { c.QueueVisibility(1); c.DispatchAsCommandBatch(); }); m.AddAzureSender(dev, "test-incoming", x => x.IdGeneratorForTests()); }); }
protected override CqrsEngineHost BuildHost() { var builder = new CqrsEngineBuilder(); //NOTE: Core Lokad CQRS Initialization builder.UseProtoBufSerialization(); builder.Domain(config => { config.InAssemblyOf <CreateMessage>(); config.InAssemblyOf <CreateMessageHandler>(); config.ContextFactory(MyMessageContext.Factory); }); var storageConfig = CreateCloudStorageConfig(); builder.Azure(config => { config.AddAzureProcess(storageConfig, Queues.MESSAGES); config.AddAzureSender(storageConfig, Queues.MESSAGES); }); builder.Storage(config => config.AtomicIsInAzure(storageConfig, s => { s.WithAssemblyOf <MessageView>(); s.CustomStaticSerializer(new AtomicStorageSerializerWithProtoBuf()); })); //NOTE: Event Store Initialization builder.ConfigureJonathanOliverEventStore(config => { var connectionString = AzureSettingsProvider.GetString("EventStoreConnectionString"); config.ConnectionString(connectionString); config.Hooks(p => p.Add <MyNullPipelineHook>()); config.Snapshots(s => { //snapshotting isn't implemented correctly right now. s.Disable(); s.CheckEvery(TimeSpan.FromSeconds(30)); //set this to something reasonable like 250. //It's so low here to demonstrate background "out-of-band" snapshotting. s.MaxThreshold(2); }); }); return(builder.Build()); }
// ReSharper disable InconsistentNaming static CqrsEngineHost BuildHost() { var builder = new CqrsEngineBuilder(); builder.Azure(x => x.AddAzureProcess(AzureStorage.CreateConfigurationForDev(), "process-vip")); builder.Memory(x => { x.AddMemoryProcess("process-all"); x.AddMemoryRouter("inbox", e => { var isVip = e.Items.Any(i => i.MappedType == typeof(VipMessage)); return(isVip ? "azure-dev:process-vip" : "memory:process-all"); }); x.AddMemorySender("inbox", cm => cm.IdGeneratorForTests()); }); return(builder.Build()); }