static async Task Main(string[] args)
        {
            Console.Title = "Load Generator";

            var endpointConfiguration = new EndpointConfiguration("LoadGenerator");

            endpointConfiguration.ApplyCommonNServiceBusConfiguration(enableMonitoring: false);
            endpointConfiguration.SendOnly();

            var endpoint = await Endpoint.Start(endpointConfiguration)
                           .ConfigureAwait(false);

            Console.WriteLine("Press ▲/▼ arrows to increase/decrease messages per second");
            Console.WriteLine("Press S to cause a spike of 25 messages");
            Console.WriteLine("Press P to pause/unpause message sending");
            Console.WriteLine("Press ESC key to exit");

            var producer     = new MessageProducer(endpoint);
            var producerTask = producer.Run();

            await UILoop(producer);

            producer.Stop();
            await producerTask;

            await endpoint.Stop()
            .ConfigureAwait(false);
        }
Ejemplo n.º 2
0
        IEndpointInstance BootstrapNServiceBusForMessaging(IContainer container)
        {
            var endpointConfiguration = new EndpointConfiguration("Marketing.Api");

            endpointConfiguration.ApplyCommonNServiceBusConfiguration(container);
            return(Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult());
        }
Ejemplo n.º 3
0
        void BootstrapNServiceBusForMessaging(IServiceCollection services)
        {
            var endpointConfiguration = new EndpointConfiguration("Billing.Api");

            endpointConfiguration.ApplyCommonNServiceBusConfiguration();
            endpoint = Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult();
            services.AddSingleton <IMessageSession>(endpoint);
        }
        IEndpointInstance BootstrapNServiceBusForMessaging(IContainer container)
        {
            var endpointConfiguration = new EndpointConfiguration("Sales.Api");

            endpointConfiguration.ApplyCommonNServiceBusConfiguration(container);

            // Configure saga audit plugin
            endpointConfiguration.AuditSagaStateChanges("Particular.ServiceControl");
            return(Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult());
        }
        IEndpointInstance BootstrapNServiceBusForMessaging(IServiceCollection services)
        {
            var endpointConfiguration = new EndpointConfiguration("EShop.UI");

            endpointConfiguration.PurgeOnStartup(true);
            endpointConfiguration.ApplyCommonNServiceBusConfiguration();
            var instance = Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult();

            services.AddSingleton <IMessageSession>(instance);
            return(instance);
        }
        IEndpointInstance BootstrapNServiceBusForMessaging(IContainer container)
        {
            var endpointConfiguration = new EndpointConfiguration("Shipping.Api");

            endpointConfiguration.ApplyCommonNServiceBusConfiguration(container, bridgeConfigurator: transport =>
            {
                // Bridge Shipping
                var bridge = transport.Routing().ConnectToBridge("bridge-shipping");

                // Subscribe to events from warehouse to be delivered via bridge
                bridge.RegisterPublisher(typeof(ItemStockUpdated), "warehouse");
            });

            // Remove assembly information to be able to reuse message schema from different endpoints w/o sharing messages assembly
            endpointConfiguration.RegisterMessageMutator(new RemoveAssemblyInfoFromMessageMutator());

            // Configure saga audit plugin
            endpointConfiguration.AuditSagaStateChanges("Particular.ServiceControl");

            return(Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult());
        }