[ https://issues.apache.org/activemq/browse/AMQ-850?page=comments#action_36734 ] james strachan commented on AMQ-850: ------------------------------------
Sridhar: I don't quite follow your suggestion. We kinda do what you suggest - the broker maintains a record of how many messages have been dispatched to which consumer together with maintaining a list of the messages which are targetted for different consumers (i.e. which messages could be sent to a consumer). The act of dispatching a message to a given consumer is the same thing as adding it to its prefetch buffer. Note that the main use of the prefetch buffer is to actually physically send the messages to the consumer as fast as possible - up to the prefetch count - so that they are immediately available on the client side. http://incubator.apache.org/activemq/what-is-the-prefetch-limit-for.html > add the ability to timeout a consumer to prevent a bad, hung or unused > consumer consumer from grabbing messages > --------------------------------------------------------------------------------------------------------------- > > Key: AMQ-850 > URL: https://issues.apache.org/activemq/browse/AMQ-850 > Project: ActiveMQ > Issue Type: New Feature > Components: Broker > Reporter: james strachan > Fix For: 4.2 > > > If a MessageConsumer is created but not used, it still tends to get its > prefetch-buffer worth of messages. If it does not process them within a > specific time the consumer should either be closed, or the messages unacked > and flushed from the buffer so that the consumer does not hog the messages. > Similarly if a consumer gets a message but then locks up without processing > the message we should lazily kill the consumer releasing and redelivering all > its messages -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
