Пример #1
0
        private static void RecieveOrderInfo(QueueingBasicConsumer consumer, QueueChannel channel)
        {
            BasicDeliverEventArgs deliverEventArgs = consumer.Queue.Dequeue();

            var queueItem = GetQueueItem(deliverEventArgs);
            Console.WriteLine(queueItem);

            channel.Ack(deliverEventArgs.DeliveryTag);
        }
Пример #2
0
        private static void RecieveOrderInfo(QueueingBasicConsumer consumer, QueueChannel channel)
        {
            BasicDeliverEventArgs deliverEventArgs = consumer.Queue.Dequeue();

            LogOrderQueueItem queueItem = GetQueueItem(deliverEventArgs);

            queueItem.ToOption()
                .Map(CreateOrderEntitiy)
                .Do(LogOrder);

            channel.Ack(deliverEventArgs.DeliveryTag);
        }
Пример #3
0
        private static void Main(string[] args)
        {
            using (var channel = new QueueChannel("log queue"))
            {
                var consumer = channel.CreateConsumer();

                while (true)
                {
                    RecieveOrderInfo(consumer, channel);
                }
            }
        }
Пример #4
0
        private static void Main(string[] args)
        {
            SessionFactory.Create();
            OrderRepository orderRepository = new OrderRepository();

            using (var channel = new QueueChannel("request queue"))
            {
                var consumer = channel.CreateConsumer();

                var processor = new OrderProcessor(channel, consumer, orderRepository);
                while (true)
                {
                    processor.Process();
                }
            }
        }
Пример #5
0
 public OrderProcessor(QueueChannel channel, QueueingBasicConsumer consumer, OrderRepository orderRepository)
 {
     this.channel = channel;
     this.consumer = consumer;
     this.orderRepository = orderRepository;
 }
Пример #6
0
 private void PublishToMonitoring(byte[] message)
 {
     using (var monitoringChannel = new QueueChannel("monitoring queue"))
     {
         monitoringChannel.Publish(message);
     }
 }
Пример #7
0
 private void PublishToLogger(byte[] message)
 {
     using (var logChannel = new QueueChannel("log queue"))
     {
         logChannel.Publish(message);
     }
 }