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); }
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"); } }