Beispiel #1
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Por favor ingresar argumentos: fileName [timeElapse]");
                Console.ReadLine();
                return;
            }

            Console.WriteLine("-- PRODUCER --");
            Console.ReadLine();
            string fileName   = (string)args[0];
            int    timeElapse = args.Length == 2 ? Convert.ToInt32(args[1]) : defaultElapsedTime;

            var messages = LoadMessages(fileName);

            var producer = new CustomProducer <Null, CustomerMessage>(new Serializer <CustomerMessage>(), null);

            while (messages.Any())
            {
                var message = messages.Pop();
                producer.Produce("customersRaw", null, message).Wait();
                Console.WriteLine($"salio {JsonConvert.SerializeObject(message)}");
                //Thread.Sleep(timeElapse);
            }

            while (true)
            {
            }
        }
Beispiel #2
0
        public void ShouldConsumeTest()
        {
            var task = new TaskFactory();

            task.StartNew(() => {
                var consumer = new CustomConsumer <Null, string>(new StringDeserializer(Encoding.UTF8), null);
                consumer.Consume("nuevoTopico", (_, x) => { });
            });

            var producer = new CustomProducer <Null, string>(new StringSerializer(Encoding.UTF8), null);

            producer.Produce("nuevoTopico", null, "testo10").Wait();
            producer.Produce("nuevoTopico", null, "testo12").Wait();
            Thread.Sleep(18000);
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("-- CONSUMER --");

            // autofac container
            IContainer container       = CustomerContainerBuilder.Build();
            var        _customerMapper = container.Resolve <CustomerMapper>();

            // customerProducer: manda al topic Customers datos de clientes procesados
            var customerProducer = new CustomProducer <string, MappedCustomerMessage>(new ObjectSerializer <MappedCustomerMessage>(), new ObjectSerializer <string>());

            // rawConsumer: recibe mensajes crudos de integracion
            var rawConsumer = new CustomConsumer <Null, CustomerMessage>(new Serializer <CustomerMessage>(), null);

            rawConsumer.Consume("customersRaw", (_, msg) => {
                var mapped = _customerMapper.Handle(msg.Value);
                customerProducer.Produce("customers", mapped.CustomerId.ToString(), mapped).Wait();
                Console.WriteLine($"Topic: {msg.Topic} Partition: {msg.Partition} Offset: {msg.Offset} {JsonConvert.SerializeObject(mapped)}");
            });

            while (true)
            {
            }
        }
Beispiel #4
0
 public DependingProducer(object id, CustomProducer producer)
 {
     Key = id;
     Producer = producer;
 }
Beispiel #5
0
 public async Task ShouldProduceMessasgeAsync()
 {
     var producer = new CustomProducer <Null, string>(new StringSerializer(Encoding.UTF8), null);
     await producer.Produce("test", null, "Hello world!").ContinueWith(x => Assert.True(x.IsCompletedSuccessfully));
 }
 public DependingProducer(object id, CustomProducer producer)
 {
     Key      = id;
     Producer = producer;
 }
Beispiel #7
0
 public DependingProducer(object id, CustomProducer producer)
 {
     this.Key      = id;
     this.Producer = (IProducer)producer;
 }