コード例 #1
0
        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);
        }
コード例 #3
0
        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);
        }