activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiram Chirino (JIRA)" <>
Subject [jira] [Commented] (APLO-86) Subscription with exclusive:true and auto-delete:true should not redeliver messages
Date Tue, 06 Sep 2011 14:05:11 GMT


Hiram Chirino commented on APLO-86:

I've just added the following feature:
If a 'temp:true' header is set on a subscribe frame, then a destination that created connection
will only be consumable by the connection.  It will also auto delete the destination when
the connection is terminated.

Note that the connection is allowed multiple subscribers on the destination so this is not
exactly the same as exclusive:true, so you may need to still use exclusive:true.

> Subscription with exclusive:true and auto-delete:true should not redeliver messages
> -----------------------------------------------------------------------------------
>                 Key: APLO-86
>                 URL:
>             Project: ActiveMQ Apollo
>          Issue Type: Bug
>            Reporter: Lionel Cons
> The exclusive and auto-delete subscription options can be combined to create a private
reply queue.
> The current Apollo snapshot does not seem to always delete unconsumed messages, allowing
a rogue client to consume them.
> My test scenario:
>  - c1 subscribes to /queue/foo with exclusive:true and auto-delete:true and ack:client
>  - c1 sends messages with the appropriate reply-to header, expecting replies to go to
>  - (rogue) c2 subscribes to /queue/foo with the intent to steal messages, it does not
get any because of exclusive:true
>  - c1 receives and acks messages and then decides to quit
>  - there are not yet delivered or not yet acked messages in the queue
>  - c1 unsubscribes and disconnects
>  - the broker delivers the pending messages to c2 before/while deleting the queue
> IMHO, the broker should not deliver messages to c2 in this situation.
> The best solution is probably to forbid subscribing to a queue that has a subscription
with both exclusive:true and auto-delete:true.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message