[ 
https://issues.apache.org/activemq/browse/AMQ-850?page=comments#action_36733 ] 
            
james strachan commented on AMQ-850:
------------------------------------

Vadim: agreed in the case where the consumer just never processes any messages 
and the receive() method is never called. A consumer would basically be 
terminated until a call to receive*() which would re-awaken it again. 

Though the consumer may be in the middle of processing a message but is just 
taking too long due to some hang/lock (either after calling receive() and not 
calling commit() / acknowledge() - or be inside a MessageListener method call - 
and may need to actually be closed preventing any future messages being 
dispatched.

> 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

        

Reply via email to