On 01/12/17 21:56, tomt wrote:
I have successfully managed to create a durable queue with a binding to an
exchange through QpidJMS when I connect directly to the broker using the
Session.createDurableConsumer() API. This is great progress for us. It
appears that queue is going to live forever, which we do not want.
When I try to connect the same client to the qdrouter (who is linked to the
broker), a queue with a different name is created, but the binding to the
desired exchange/topic is still created. I noticed that when my client
disconnects, this queue is deleted and the dispatcher logs a message that
the link is aborted because the connection is lost.
In both of these cases, we are targeting the ability for the queue and
binding to stay alive after a client disconnects for a certain period of
time, potentially still accumulating messages. If the client doesn't
reconnect in a few minutes, the queue should just be automatically deleted
by the broker.
Is this something I can do through the QpidJMS interface? Would I need to
drop down to the proton-j level?
I don't think the JMS API lets you control the timeout, no. That is
probably something to configure on the broker side (in a broker
dependent way).
For the c++ broker you can create a 'topic' object (a confusing name for
a sort of wrapper around an exchange that can only be used in AMQP 1.0)
with a default value for the qpid.auto_delete_timeout (which is then
'inherited' by all subscriptions that don't provide their own value).
The auto_delete_timeout is the number of seconds a subscription queue is
kept for while the consumer is not attached.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]