Hi Nate, Apologies for the unforgivable delay in responding to this e-mail. I have no idea why the code is checking the sender in that way as a check for deletion. I have raised JIRA QPID-4845 and checked in what I believe is a fix to the trunk version of the JMS client.
-- Rob On 20 April 2013 16:32, Nate Sarr <[email protected]> wrote: > Hello, > > I was wondering if someone might be able to help me out with a question > I have related to the JMS getReplyTo() method. > > I am using the qpid-amqp-1-0-client-jms-0.20 with a reqest/reply pattern > with Apache Apollo as the message broker. > > I am able to set up a message queue and a temporary queue using > session.createTemporaryQueue() to respond on. I am able to send the > message and receive it on the other side. However when I try to use the > getReplyTo() method on the original message to send a response on the > receiving end I get the following error: > > Exception in thread "main" javax.jms.IllegalStateException: Destination has > been deleted > at > > org.apache.qpid.amqp_1_0.jms.impl.MessageProducerImpl.send(MessageProducerImpl.java:294) > at > > org.apache.qpid.amqp_1_0.jms.impl.MessageProducerImpl.send(MessageProducerImpl.java:270) > > I checked in the Apollo admin interface and the temporary queue exists and > is waiting for a a reply from the receiver. > > However if I change the code on the receiver end to get the message cast it > to a QueueImpl and then ask for the queue name and then create a new queue > to respond using this name it works and the temporary queue is cleaned up > correctly following the response. > > Is this correct way to do this or should I be doing something different so > I can use the replyTo directly to respond? > > I did a quick check on the TemporaryQueueImpl and it looks like it bases > the deleted status on if the sender is null. I'm not sure when > > Any help would be greatly appreciated. > > -Nate >
