In TimeoutAction the XmlConvert for that header is throwing a
NullReferenceException because the Discard method never sets this header. So
my question is should the Discard method use the overload for Send method
you spoke of, and if so, how long should the delay be?

private void Discard(object message)
        {
            logger.DebugFormat("Discarding message {0} ({1}) because there
are no consumers for it.",
                message, currentMessageInformation.TransportMessageId);
            Send(new Endpoint { Uri =
endpoint.AddSubQueue(SubQueue.Discarded) }, new [] { message });
        }

foreach (var message in queue.GetAllMessages(SubQueue.Discarded.ToString()))
                {

                    var timeToSend =
XmlConvert.ToDateTime(message.Headers["time-to-send"],XmlDateTimeSerializationMode.Utc);
//NullReferenceException
                    logger.DebugFormat("Registering message {0} to be sent
at {1} on {2}",
                                  message.Id, timeToSend, queue.QueueName);
                    writer.Add(timeToSend, message.Id);
                }

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to