public AggregatedEventsMessageConsumer(ISingleMessageConsumer singleMessageConsumer) { var factory = new ConnectionFactory { HostName = QueueConfiguration.HostName }; connection = factory.CreateConnection(); channel = connection.CreateModel(); DeclareQueue(); basicConsumer = GetBasicConsumer(singleMessageConsumer); }
public RawEventsQueueMessageConsumer() { var factory = new ConnectionFactory { HostName = QueueConfiguration.HostName }; connection = factory.CreateConnection(); channel = connection.CreateModel(); DeclareQueue(); singleMessageConsumer = new SingleRawEventMessageConsumer(); basicConsumer = GetBasicConsumer(singleMessageConsumer); }
private IBasicConsumer GetBasicConsumer(ISingleMessageConsumer singleMessageConsumer) { var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body); singleMessageConsumer.ConsumeMessage(message); //channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); //manual ack, after processing message }; return(consumer); }