Example #1
0
        static void Main(string[] args)
        {
            var hostBuilder = RabbitMQHost.CreateDefaultBuilder(args);

            hostBuilder.ConfigureServices((hostbuilderContext, services) => {
                services.AddLogging(b =>
                {
                    b.SetMinimumLevel(LogLevel.Information);
                    b.AddDebug();
                    b.AddConsole();
                });

                // Add queue to be declared
                services.AddRabbitQueue(new Queue("myqueue"));
            });

            using (var host = hostBuilder.Start())
            {
                var admin    = host.Services.GetRabbitAdmin();
                var template = host.Services.GetRabbitTemplate();

                try
                {
                    template.ConvertAndSend("myqueue", "foo");
                    var foo = template.ReceiveAndConvert <string>("myqueue");
                    Console.WriteLine(foo);
                }
                finally
                {
                    // Delete queue and shutdown container
                    admin.DeleteQueue("myqueue");
                }
            }
        }
Example #2
0
        public static IHostBuilder CreateHostBuilder(string[] args) =>
        RabbitMQHost.CreateDefaultBuilder(args)
        .ConfigureServices((hostContext, services) =>
        {
            // Add queue to be declared
            services.AddRabbitQueue(new Queue("myqueue"));

            // Add the rabbit listener
            services.AddSingleton <MyRabbitListener>();
            services.AddRabbitListeners <MyRabbitListener>();

            services.AddSingleton <IHostedService, MyRabbitSender>();
        });
Example #3
0
        public static IHostBuilder CreateHostBuilder(string[] args) =>
        RabbitMQHost.CreateDefaultBuilder(args)
        .ConfigureServices((hostContext, services) =>
        {
            // Add queue to be declared
            services.AddRabbitQueue(new Queue("myqueue"));

            // Add a configurer to configure listener endpoint
            services.AddSingleton <IRabbitListenerConfigurer, MyRabbitEndpointConfigurer>();

            // Add a message sender
            services.AddSingleton <IHostedService, MyRabbitSender>();
        });
Example #4
0
        public static IHostBuilder CreateHostBuilder(string[] args) =>
        RabbitMQHost.CreateDefaultBuilder(args)
        .ConfigureServices((hostContext, services) =>
        {
            // Add queue to be declared
            services.AddRabbitQueue(new Queue("myqueue"));

            services.AddRabbitDirecListenerContainer("manualContainer", (p, container) =>
            {
                var logFactory = p.GetRequiredService <ILoggerFactory>();
                container.ApplicationContext = p.GetApplicationContext();
                container.SetQueueNames("myqueue");
                container.MessageListener = new MyMessageListener(logFactory.CreateLogger <MyMessageListener>());
            });

            // Add a message sender
            services.AddSingleton <IHostedService, MyRabbitSender>();
        });
Example #5
0
        public static IHostBuilder CreatHostBuilder(string[] args) =>
        RabbitMQHost.CreateDefaultBuilder(args)
        .ConfigureServices((hostBuilderContext, services) => {
            // Add queue to be declared
            services.AddRabbitQueue(new Queue("myqueue"));

            services.AddRabbitDirecListenerContainer((p) =>
            {
                var context    = p.GetRequiredService <IApplicationContext>();
                var factory    = p.GetRequiredService <IRabbitListenerContainerFactory>();
                var logFactory = p.GetRequiredService <ILoggerFactory>();
                var listener   = new MyMessageListener(logFactory.CreateLogger <MyMessageListener>());
                var endpoint   = new SimpleRabbitListenerEndpoint(context);
                endpoint.SetQueueNames("myqueue");
                endpoint.MessageListener = listener;
                var container            = factory.CreateListenerContainer(endpoint) as DirectMessageListenerContainer;
                container.ServiceName    = "manualContainer";
                return(container);
            });

            // Add a message sender
            services.AddSingleton <IHostedService, MyRabbitSender>();
        });
Example #6
0
 public static IHostBuilder CreateHostBuilder(string[] args) =>
 RabbitMQHost.CreateDefaultBuilder(args)
 .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup>(); });