<div class="gmail_quote"><br>
<div>I have attached the code that i have implemented.</div>
<div> </div>
<div> </div>
<div> //declare a Input queue<br> strQueue = InputQueue + "." + objMessage.InputKey;<br> model = GetModel();<br> model.QueueDeclare(strQueue);<br> model.QueueBind(strQueue, Exchange, objMessage.InputKey, true, null);</div>
<div> //declare a Response queue<br> strResponseQueue = ResponseQueue + "." + objMessage.InputKey; ;<br> modelResponse = GetModelForResponse();<br> modelResponse.QueueDeclare(strResponseQueue);</div>
<div> object msgTask = objMessage.Action;</div>
<div> //Serialize the Message object<br> MemoryStream stream = new MemoryStream();<br> DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Message));<br>
jsonSerializer.WriteObject(stream, objMessage);</div>
<div> byte[] messageBody = stream.ToArray();<br> IBasicProperties msgProperties = model.CreateBasicProperties();<br> msgProperties.AppId = RabbitHelper.AppID;<br> msgProperties.Headers = new Dictionary<string, object>();<br>
msgProperties.Headers.Add("MessageTask", msgTask);<br> msgProperties.MessageId = Guid.NewGuid().ToString();<br> MessageID = msgProperties.MessageId;<br> </div>
<div> modelResponse.QueueBind(strResponseQueue, Exchange, MessageID, true, null);</div>
<div> model.BasicPublish(Exchange, objMessage.InputKey, msgProperties, messageBody);<br> subscription = new Subscription(modelResponse, strResponseQueue, false);</div>
<div> while (subscription.Next(-1, out basicArgs))<br> {<br> if (!object.ReferenceEquals(basicArgs, null))<br> {<br> IBasicProperties props = basicArgs.BasicProperties;<br>
byte[] responseMessageBody = basicArgs.Body;</div>
<div> //Deserialize the message object<br> IMessage recvMessage = RabbitHelper.ConvertJsonToObject<Message>(responseMessageBody);<br> //validate if this is the desired response<br>
if (props.MessageId == MessageID)<br> {<br> retVal = recvMessage.ReturnValue;<br> //acknowledge the queue <br> subscription.Ack(basicArgs);<br>
}<br> }<br> } </div>
<div> </div>
<div> </div>
<div><br>Thanks and Regards,</div>
<div>Joe <br></div>
<div class="HOEnZb">
<div class="h5">
<div class="gmail_quote">On Thu, Sep 6, 2012 at 5:00 PM, Emile Joubert <span dir="ltr"><<a href="mailto:emile@rabbitmq.com" target="_blank">emile@rabbitmq.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">Hi Joemon,<br>
<div><br>On 06/09/12 11:53, Joemon Varghese wrote:<br>> We are not able to reproduce this issue.We are getting thread abort error.<br><br></div>Ok, but that does not sound like deadlock.<br>
<div><br>> Is there any chances of message being automatically<br>> deleted from Queue after certain amount of time.?<br><br></div>Yes: messages may be removed from a queue if the queue was declared with<br>TTL: <a href="http://www.rabbitmq.com/ttl.html#per-queue-message-ttl" target="_blank">http://www.rabbitmq.com/ttl.html#per-queue-message-ttl</a><br>
<div><br>> because sometimes my queries will take more than 1 hour but still i am<br>> keep on polling for the Response queue for this mesage id.<br><br></div>I'm afraid you have not provided enough information for me to<br>
investigate any further. If you can reproduce the problem then please<br>provide a description of the steps to reproduce, or a minimal<br>self-contained piece of code that triggers the failure. In the meantime<br>here are some suggestions:<br>
<br>- v2.7.1 is very old now. Upgrade to the latest version<br>- Try not to use polling<br><span><font color="#888888"><br><br><br>-Emile<br><br></font></span></blockquote></div><br></div></div></div><br>