/// <inheritdoc /> public void Nak(IMqMessage message, bool requeue, Exception exception = null) { var queueName = requeue ? message.ToInQueueName() : message.ToDlqQueueName(); this.Publish(queueName, message); }
/// <inheritdoc /> public virtual void Nak(IMqMessage message, bool requeue, Exception exception = null) { try { if (requeue) { var deliveryTag = ulong.Parse(message.Tag); this.Channel.BasicNack(deliveryTag, false, true); } else { this.Publish(message.ToDlqQueueName(), MqQueueNames.ExchangeDlq, message); this.Ack(message); } } catch (Exception) { var deliveryTag = ulong.Parse(message.Tag); this.Channel.BasicNack(deliveryTag, false, requeue); } }