void CustomConnectionString(Configure configure) { #region rabbitmq-config-connectionstring-in-code configure.UseTransport<RabbitMQ>(() => "My custom connection string"); #endregion }
void CustomConnectionStringName(Configure configure) { #region rabbitmq-config-connectionstringname configure.UseTransport<RabbitMQ>("MyConnectionStringName"); #endregion }
void Basic(Configure configure) { #region rabbitmq-config-basic configure.UseTransport<RabbitMQ>(); #endregion }
ConfigureSagaPersistence(Configure configure) { #region saga-configure Feature.Enable<Sagas>(); configure.DefaultBuilder(); configure.UseTransport<Msmq>(); configure.UnicastBus(); configure.RavenSagaPersister(); #endregion }
static void Main() { Configure.Serialization.Json(); Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.MessageMutators"); configure.DefaultBuilder(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); #region ComponentRegistartion configure.Configurer.ConfigureComponent <ValidationMessageMutator>(DependencyLifecycle.InstancePerCall); configure.Configurer.ConfigureComponent <TransportMessageCompressionMutator>(DependencyLifecycle.InstancePerCall); #endregion using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); Runner.Run(bus); } }
static void Main() { Configure.Serialization.Json(); #region ContainerConfiguration Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.StructureMap"); Container container = new Container(x => x.For <MyService>().Use(new MyService())); configure.StructureMapBuilder(container); #endregion configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); IBus bus = configure.UnicastBus() .CreateBus() .Start(() => Configure.Instance.ForInstallationOn <Windows>().Install()); bus.SendLocal(new MyMessage()); Console.WriteLine("\r\nPress any key to stop program\r\n"); Console.ReadKey(); }
static void Main() { Configure.Serialization.Json(); Configure configure = Configure.With(); #region ConfigureAppender configure.Log4Net <MyConsoleAppender>(appender => { appender.Color = ConsoleColor.Green; }); #endregion configure.DefineEndpointName("Samples.Log4Net.Appender"); configure.DefaultBuilder(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); bus.SendLocal(new MyMessage()); Console.WriteLine("\r\nPress any key to stop program\r\n"); Console.ReadKey(); } }
static void Main() { Configure.Serialization.Json(); Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Sample.PipelineStream.Sender"); configure.DefaultBuilder(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); #region configure-stream-storage configure.SetStreamStorageLocation("..\\..\\..\\storage"); #endregion using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { var bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); Run(bus); } }
static void Main() { Console.Title = "Samples.RabbitMQ.Simple"; Configure.Serialization.Json(); #region ConfigureRabbit Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.RabbitMQ.Simple"); configure.DefaultBuilder(); configure.UseTransport <NServiceBus.RabbitMQ>(() => "host=localhost"); #endregion configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); bus.SendLocal(new MyMessage()); Console.WriteLine("Press any key to exit"); Console.ReadKey(); } }
static void Main() { Configure.Serialization.Json(); #region server Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Scaleout.Server"); configure.DefaultBuilder(); configure.RunMSMQDistributor(withWorker: false); #endregion configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); Console.WriteLine("Press any key to exit"); Console.ReadKey(); } }
static void Main() { Configure.Serialization.Json(); #region ConfigureLogging Configure configure = Configure.With(); //Configures a ConsoleAppender with a threshold of Debug configure.Log4Net(); configure.DefineEndpointName("Samples.Logging.Default"); #endregion configure.DefaultBuilder(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport<Msmq>(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn<Windows>().Install()); bus.SendLocal(new MyMessage()); Console.WriteLine("Press any key to exit"); Console.ReadKey(); } }
static void Main() { Console.Title = "Samples.MessageDurability.Sender"; Configure.Serialization.Json(); #region non-transactional Configure.Transactions.Disable(); #endregion Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.MessageDurability.Sender"); configure.DefaultBuilder(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); bus.Send("Samples.MessageDurability.Receiver", new MyMessage()); Console.WriteLine("Press any key to exit"); Console.ReadKey(); } }
static void Main() { Configure.Serialization.Json(); Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.FaultTolerance.Client"); configure.DefaultBuilder(); 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"); Console.WriteLine("Press any key to exit"); while (true) { ConsoleKeyInfo key = Console.ReadKey(); if (key.Key != ConsoleKey.Enter) { return; } Guid id = Guid.NewGuid(); bus.Send("Samples.FaultTolerance.Server", new MyMessage { Id = id }); Console.WriteLine("Sent a new message with id: {0}", id.ToString("N")); } } }
static void Main() { Console.Title = "Samples.ErrorHandling.WithoutSLR"; #region DisableSLR Configure.Features.Disable <NServiceBus.Features.SecondLevelRetries>(); #endregion Configure.Serialization.Json(); Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.ErrorHandling.WithoutSLR"); configure.DefaultBuilder(); 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 that will throw an exception."); Console.WriteLine("Press any key to exit"); while (true) { ConsoleKeyInfo key = Console.ReadKey(); if (key.Key != ConsoleKey.Enter) { return; } MyMessage m = new MyMessage { Id = Guid.NewGuid() }; bus.SendLocal(m); } } }
static void Main() { Configure.Serialization.Json(); Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Versioning.V2Publisher"); configure.DefaultBuilder(); configure.UseTransport <Msmq>(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); Console.WriteLine("Press enter to publish a message"); Console.WriteLine("Press any key to exit"); while (true) { ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); if (key.Key != ConsoleKey.Enter) { return; } bus.Publish <V2.Messages.ISomethingHappened>(sh => { sh.SomeData = 1; sh.MoreInfo = "It's a secret."; }); Console.WriteLine("Published event."); } } }
static void Main() { Configure.Serialization.Json(); #region ContainerConfiguration Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Spring"); GenericApplicationContext applicationContext = new GenericApplicationContext(); applicationContext.ObjectFactory.RegisterSingleton("MyService", new MyService()); configure.SpringFrameworkBuilder(applicationContext); #endregion configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); IBus bus = configure.UnicastBus() .CreateBus() .Start(() => Configure.Instance.ForInstallationOn <Windows>().Install()); bus.SendLocal(new MyMessage()); Console.WriteLine("\r\nPress any key to stop program\r\n"); Console.ReadKey(); }
static void Main() { // To disable second level retries(SLR), uncomment the following line. SLR is enabled by default. //Configure.Features.Disable<NServiceBus.Features.SecondLevelRetries>(); Configure.Serialization.Json(); Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.FaultTolerance.Server"); configure.DefaultBuilder(); 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 any key to exit"); Console.ReadKey(); } }
static void Main() { #region self-hosting Configure.Serialization.Json(); Configure.Features.Enable <Sagas>(); Configure configure = Configure.With(); configure.DefineEndpointName("Samples.SelfHosting"); configure.Log4Net(); configure.DefaultBuilder(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); IBus bus = configure.UnicastBus() .CreateBus() .Start(() => Configure.Instance.ForInstallationOn <Windows>().Install()); #endregion Console.WriteLine("\r\nBus created and configured; press any key to stop program\r\n"); Console.ReadKey(); }
static void Main() { #region startbus Configure.Serialization.Json(); Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.OwinPassThrough"); configure.DefaultBuilder(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); using (StartOwinHost(bus)) { Console.WriteLine("Press any key to exit"); Console.ReadKey(); } } #endregion }
public static Configure MsmqTransport(this Configure config) { return(config.UseTransport <Msmq>()); }
protected override void OnStart(string[] args) { #region logging PatternLayout layout = new PatternLayout { ConversionPattern = "%d %-5p %c - %m%n" }; layout.ActivateOptions(); ConsoleAppender appender = new ConsoleAppender { Layout = layout, Threshold = Level.Info }; appender.ActivateOptions(); BasicConfigurator.Configure(appender); SetLoggingLibrary.Log4Net(); #endregion #region create-config Configure configure = Configure.With(); #endregion #region endpoint-name configure.DefineEndpointName("Samples.FirstEndpoint"); #endregion #region container ContainerBuilder builder = new ContainerBuilder(); //configure your custom services //builder.RegisterInstance(new MyService()); IContainer container = builder.Build(); configure.AutofacBuilder(container); #endregion #region serialization Configure.Serialization.Json(); #endregion #region transport configure.UseTransport <Msmq>(); #endregion #region sagas Configure.Features.Enable <Sagas>(); #endregion #region persistence configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); #endregion #region critical-errors Configure.Instance.DefineCriticalErrorAction((errorMessage, exception) => { // Log the critical error logger.Fatal(string.Format("CRITICAL: {0}", errorMessage), exception); // Kill the process on a critical error Environment.FailFast(string.Format("The following critical error was encountered by NServiceBus:\n{0}\nNServiceBus is shutting down.", errorMessage), exception); }); #endregion #region start-bus bus = configure.UnicastBus() .CreateBus() .Start(() => configure.ForInstallationOn <Windows>().Install()); #endregion }
static void Main() { #region ConfigureLog4Net PatternLayout layout = new PatternLayout { ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n" }; layout.ActivateOptions(); ColoredConsoleAppender consoleAppender = new ColoredConsoleAppender { Threshold = Level.Info, Layout = layout }; // Note that no consoleAppender.ActivateOptions(); is required since NSB 4 does this internally RollingFileAppender fileAppender = new RollingFileAppender { DatePattern = "yyyy-MM-dd'.txt'", RollingStyle = RollingFileAppender.RollingMode.Composite, MaxFileSize = 10 * 1024 * 1024, MaxSizeRollBackups = 10, LockingModel = new FileAppender.MinimalLock(), StaticLogFileName = false, File = @"nsblog2", Layout = layout, AppendToFile = true, Threshold = Level.Info, }; // Note that no fileAppender.ActivateOptions(); is required since NSB 4 does this internally BasicConfigurator.Configure(fileAppender, consoleAppender); #endregion Configure.Serialization.Json(); #region UseConfig Configure configure = Configure.With(); configure.DefineEndpointName("Samples.Logging.Log4NetCustom"); //Pass the appenders to NServiceBus configure.Log4Net(consoleAppender); configure.Log4Net(fileAppender); #endregion configure.DefaultBuilder(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); bus.SendLocal(new MyMessage()); Console.WriteLine("\r\nPress any key to stop program\r\n"); Console.ReadKey(); } }