Example #1
0
        void CustomConnectionString(Configure configure)
        {
            #region rabbitmq-config-connectionstring-in-code

            configure.UseTransport<RabbitMQ>(() => "My custom connection string");
            #endregion
        }
Example #2
0
        void CustomConnectionStringName(Configure configure)
        {
            #region rabbitmq-config-connectionstringname

            configure.UseTransport<RabbitMQ>("MyConnectionStringName");

            #endregion
        }
Example #3
0
        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
        }
Example #5
0
    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);
        }
    }
Example #6
0
    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();
        }
    }
Example #8
0
    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);
        }
    }
Example #9
0
    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();
        }
    }
Example #10
0
    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();
        }
    }
Example #11
0
    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();
        }
    }
Example #12
0
 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();
     }
 }
Example #13
0
    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"));
            }
        }
    }
Example #14
0
    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);
            }
        }
    }
Example #15
0
    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.");
            }
        }
    }
Example #16
0
    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();
    }
Example #17
0
    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();
        }
    }
Example #18
0
    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();
    }
Example #19
0
    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>());
 }
Example #21
0
    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
    }
Example #22
0
    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();
        }
    }