On 03/26/2013 12:28 PM, Rob Godfrey wrote:
Many apologies for my misunderstanding...
No need, I can see where the confusion would arise, hence the clarification!
In this case there shouldn't be a big barrier to implementing bounded queue sizes in the same way in the Java Broker.
The question is, if you set some sort of maximum depth on a queue, what do you do when you hit it? You can (a) throw some error, (b) drop certain messages to stay within the limit, (c) something else.
The 'ring' queue policy is really a policy to evict the oldest messages (or the lowest priority messages for a priority queue).
I find the "ring" name somewhat confusing then as the implementation is not actually a ring but simply a bounded buffer where the oldest unconsumed message is discarded when the queue size hits the bound.
Yes, I've made a mess of naming in more than one area I'm afraid!
Is there any special treatment of priority queues (do you discard lower priority messages in preference to higher priority), or is the aging strict?
Priority queues discard the lowest priority messages first (choosing the oldest messages within the same priority level for eviction).
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
