On 26 March 2013 13:49, Gordon Sim <[email protected]> wrote: > 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). > > > OK... one final question... in the C++ broker, for a ring policy do acquired but not yet acknowledged messages (e.g. messages that are currently sitting in a client's prefetch buffer) count towards the limit? If not what happens if such messages are released by the client at a subsequent point?
Thanks for your help, Rob > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > [email protected].**org<[email protected]> > For additional commands, e-mail: [email protected] > >
