Exemplo n.º 1
0
        void StartConsumer(MqConsumer consumer)
        {
            var channel = _channelProvider.Provide(consumer.BatchSize);

            _channelCallbackExceptionLogger.Register(channel, consumer.Queue);
            _channelMessageReceivingController.Register(channel, consumer.Queue);

            _mqStatusService.QueueConnected(consumer.Queue);
            _runConsumers.Add(consumer.Queue, consumer);

            _logger.Action("Consumer enabled")
            .AndFactIs("queue", consumer.Queue)
            .Write();
        }
Exemplo n.º 2
0
        public IDisposable AddConsumer(MqConsumer consumer)
        {
            if (_runConsumers.ContainsKey(consumer.Queue))
            {
                throw new InvalidOperationException("The consumer for the same queue already registered");
            }

            _runtimeConsumerRegister.Add(consumer.Queue, consumer);

            if (_state == MqConsumerHostState.Running)
            {
                StartConsumer(consumer);
            }

            return(new ConsumerUnregistrar(consumer.Queue, this));
        }
Exemplo n.º 3
0
            public void RegisterConsumer(MqConsumer consumer)
            {
                var cp = new ObjectInitialConsumerProvider(consumer);

                _consumers.Add(cp);
            }
Exemplo n.º 4
0
 public ObjectInitialConsumerProvider(MqConsumer consumer)
 {
     _consumer = consumer;
 }