static void Main(string[] args) { var(logger, config) = Bootstrap(); var schemaRegistryConfig = new SchemaRegistryConfig { Url = config["SCHEMA_REGISTRY_URL"], }; StartProducing(logger, config, schemaRegistryConfig); var consumerFactory = new ConsumerFactory <string, Record>( logger, new ProtobufDeserializer <Record>(), KafkaOptions.ForConsumer(config)); var consumer = consumerFactory.CreateConsumer("Group-1"); var consumer2 = consumerFactory.CreateConsumer("Group-2"); var eventListener = new EventListener(consumer, PERSON_TOPIC, logger); var eventListener2 = new EventListener(consumer2, PERSON_TOPIC, logger); var personEventHandler = new PersonEventHandler(); var addressEventHandler = new AddressEventHandler(); var handlers = new List <IEventHandler> { personEventHandler, addressEventHandler }; var eventProcessor = new EventProcessor(eventListener, handlers, logger); var eventProcessor2 = new EventProcessor(eventListener2, handlers, logger); eventProcessor.StartProcessing(CreateCancellation().Token).GetAwaiter().GetResult(); eventProcessor2.StartProcessing(CreateCancellation().Token).GetAwaiter().GetResult(); }
static void Main(string[] args) { var(logger, config) = Bootstrap(); StartProducing(logger, config); var consumerFactory = new ConsumerFactory <string, Record>( logger, new StringDeserializer <Record>(x => JsonConvert.DeserializeObject <Record>(Decode.IntoString(x))), KafkaOptions.ForConsumer(config)); var consumer = consumerFactory.CreateConsumer("Group-1"); var eventListener = new EventListener(consumer, PERSON_TOPIC, logger); var personEventHandler = new PersonEventHandler(); var addressEventHandler = new AddressEventHandler(); var eventProcessor = new EventProcessor(eventListener, new List <IEventHandler> { personEventHandler, addressEventHandler }, logger); eventProcessor.StartProcessing(CreateCancellation().Token).GetAwaiter().GetResult(); }