public void Persistence() { Configure configure = Configure.With(); #region 4to5ConfigurePersistence // Configure to use InMemory configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.RunGatewayWithInMemoryPersistence(); configure.UseInMemoryGatewayDeduplication(); // Configure to use NHibernate configure.UseNHibernateSagaPersister(); configure.UseNHibernateTimeoutPersister(); configure.UseNHibernateSubscriptionPersister(); configure.UseNHibernateGatewayPersister(); configure.UseNHibernateGatewayDeduplication(); // Configure to use RavenDB for everything configure.RavenPersistence(); // Configure to use RavenDB configure.RavenSagaPersister(); configure.UseRavenTimeoutPersister(); configure.RavenSubscriptionStorage(); configure.RunGatewayWithRavenPersistence(); configure.UseNHibernateGatewayDeduplication(); #endregion }
Usage(Configure configure) { #region ConfiguringInMemory configure.InMemoryFaultManagement(); configure.InMemorySagaPersister(); configure.InMemorySubscriptionStorage(); configure.RunGatewayWithInMemoryPersistence(); configure.UseInMemoryTimeoutPersister(); #endregion }
public Usage() { #region ConfiguringInMemory Configure configure = Configure.With(); configure.InMemoryFaultManagement(); configure.InMemorySagaPersister(); configure.InMemorySubscriptionStorage(); configure.RunGatewayWithInMemoryPersistence(); configure.RunTimeoutManagerWithInMemoryPersistence(); #endregion }
static void Main() { Console.Title = "Samples.Gateway.Headquarters"; Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Gateway.Headquarters"); configure.DefaultBuilder(); configure.RunGatewayWithInMemoryPersistence(); configure.UseInMemoryGatewayDeduplication(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus .Start(() => configure.ForInstallationOn <Windows>().Install()); Console.WriteLine("Press 'Enter' to send a message to RemoteSite which will reply."); Console.WriteLine("Press any other key to exit"); while (true) { ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); if (key.Key != ConsoleKey.Enter) { return; } string[] siteKeys = { "RemoteSite" }; PriceUpdated priceUpdated = new PriceUpdated { ProductId = 2, NewPrice = 100.0, ValidFrom = DateTime.Today, }; bus.SendToSites(siteKeys, priceUpdated); Console.WriteLine("Message sent, check the output in RemoteSite"); } } }
static void Main() { Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Gateway.RemoteSite"); configure.DefaultBuilder(); configure.MsmqTransport(); configure.RunGatewayWithInMemoryPersistence(); configure.InMemorySagaPersister(); configure.RunTimeoutManagerWithInMemoryPersistence(); configure.InMemorySubscriptionStorage(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus .Start(() => configure.ForInstallationOn <Windows>().Install()); Console.WriteLine("\r\nPress any key to stop program\r\n"); Console.ReadKey(); } }