qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nate Sarr <nates...@gmail.com>
Subject JMS Request/Reply Destination has already been deleted error
Date Sat, 20 Apr 2013 14:32:15 GMT
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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message