Пример #1
0
 public void Requeue(Message message, int delayMilliseconds)
 {
     if (delayMilliseconds > 0)
     {
         _messageProducer.SendWithDelay(message, delayMilliseconds);
     }
     else
     {
         _messageProducer.Send(message);
     }
 }
Пример #2
0
        public void Requeue(Message message, int delayMilliseconds)
        {
            var topic = message.Header.Topic;

            s_logger.LogInformation("Requeuing message with topic {Topic} and id {Id}.", topic, message.Id);

            if (delayMilliseconds > 0)
            {
                _messageProducer.SendWithDelay(message, delayMilliseconds);
            }
            else
            {
                _messageProducer.Send(message);
            }
        }
Пример #3
0
        public void Requeue(Message message, int delayMilliseconds)
        {
            var topic = message.Header.Topic;

            _logger.Value.Info($"Requeuing message with topic {topic} and id {message.Id}.");

            if (delayMilliseconds > 0)
            {
                _messageProducer.SendWithDelay(message, delayMilliseconds);
            }
            else
            {
                _messageProducer.Send(message);
            }
        }
        public void When_reading_a_delayed_message_via_the_messaging_gateway()
        {
            _messageProducer.SendWithDelay(_message, 3000);

            var immediateResult      = _messageConsumer.Receive(0).First();
            var deliveredWithoutWait = immediateResult.Header.MessageType == MessageType.MT_NONE;

            //_should_have_not_been_able_get_message_before_delay
            deliveredWithoutWait.Should().BeTrue();

            var delayedResult = _messageConsumer.Receive(10000).First();


            //_should_send_a_message_via_rmq_with_the_matching_body
            delayedResult.Body.Value.Should().Be(_message.Body.Value);
        }
Пример #5
0
        public void When_reading_a_delayed_message_via_the_messaging_gateway()
        {
            _messageProducer.SendWithDelay(_message, 1000);

            var immediateResult = _client.Listen(0, true);

            _immediateReadIsNull = immediateResult == null;

            var delayedResult = _client.Listen(2000);

            _messageBody    = delayedResult.GetBody();
            _messageHeaders = delayedResult.GetHeaders();

            //_should_have_not_been_able_get_message_before_delay
            _immediateReadIsNull.Should().BeTrue();
            //_should_send_a_message_via_rmq_with_the_matching_body
            _messageBody.Should().Be(_message.Body.Value);
            //_should_send_a_message_via_rmq_with_delay_header
            _messageHeaders.Keys.Should().Contain(HeaderNames.DELAY_MILLISECONDS);
            //_should_received_a_message_via_rmq_with_delayed_header
            _messageHeaders.Keys.Should().Contain(HeaderNames.DELAYED_MILLISECONDS);
        }