Exemple #1
0
        public static IServiceCollection AddConsumerInfraMessaging(this IServiceCollection services, IConfiguration configuration)
        {
            var consumerConfig = ConsumerConfigProvider.GetConfig(configuration);

            services.AddSingleton <IMessageConsumer>(
                new MessageConsumer(consumerConfig, ConsumerFactory.Create(consumerConfig), services));

            return(services);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            var carParamsConsumer = ConsumerFactory.Create("car_info", "fanout", string.Empty, HandleCarParamsReceived);

            Task.Run(() => carParamsConsumer.Consume());

            Console.WriteLine("Press [enter] to exit.");
            Console.ReadLine();

            carParamsConsumer.Stop();
        }
        public void Can_resolve_all_consumers()
        {
            var consumerFactory = new ConsumerFactory();
            var consumerTypes   = GetAllConsumerTypes();

            foreach (var consumerType in consumerTypes)
            {
                Console.WriteLine($"Resolving {consumerType.FullName}...");
                var consumer = consumerFactory.Create(consumerType);
                Assert.That(consumer, Is.Not.Null);
            }
        }
        private async Task StartTest(TimeSpan duration, int producerId, StrategyKind producerStrategy, StrategyKind consumerStrategy)
        {
            Console.Write($"Producer: {producerStrategy,-10} - Consumer: {consumerStrategy,-10} ");

            var producerFactory = new ProducerFactory();

            using (var producer = producerFactory.Create(producerId, producerStrategy))
            {
                var consumerFactory = new ConsumerFactory();
                var consumer        = consumerFactory.Create(consumerStrategy);

                consumer.Consume(producer);

                await Task.Delay(duration);

                Console.WriteLine($"Min:{consumer.Min.TotalMilliseconds,6:0.00}ms - Max:{consumer.Max.TotalMilliseconds,6:0.00}ms");
            }
        }