If I want Qpid to expand the # with a UID, I have to declare the queue
with delete:always, correct?

The typical example of use of such a queue is:

Sender sender = session.createSender("service_queue");
Address responseQueue("#response-queue; {create:always, delete:always}");
Receiver receiver = session.createReceiver(responseQueue);

Do I have to use the Address object returned by createSender() to create
the Receiver? I'm trying to use the queue name (as std::string), but
that does not seem to work.

Sorry, I don't understand the question. Could you elaborate a little?

My problem was that a UUID-named queue created using a Sender could not be found by a Receiver. This was because the queue was created with delete:always and the Sender was already closed.

I have observed that # only seems to be expanded if I use delete:always. Is that so?

If you set auto-delete, then the queue is deleted by the broker when no longer used as per the rules in AMQP 0-10.

My impression is that I should use auto-delete:True but not delete:always. But then the # won't expand. Should I generate an UUID for the queue name myself?


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to