[ https://issues.apache.org/jira/browse/AMQ-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Torsten Mielke updated AMQ-6072: -------------------------------- Description: On page http://activemq.apache.org/what-is-the-prefetch-limit-for.html, the section "Pooled Consumers and prefetch", particularly the part on DMLC and prefetch 0 seems incorrect. That chapter says: {quote} The problem is visible with the Spring DMLC when the cache level is set to CACHE_CONSUMER and there are multiple concurrent consumers. One solution to this problem is to use a prefetch of 0 for a pooled consumer, in this way, it will poll for messages on each call to receive(timeout). Another option is to enable the AbortSlowAckConsumerStrategy on the broker to disconnect consumers that have not acknowledged a Message after some configurable time period. {quote} Springs DMLC does not pool consumers in the traditional sense of placing idle consumers into a pool until they are requested. Spring caches consumers in their active JMS consumer threads. So these cached JMS consumers remain active and remain used to consume the next available message. There are not pooled in the way how Springs CachingConnectionFactory would pool them. It is therefore not necessary to configure a prefetch of 0 in this use case. I suggest to remove that paragraph that I quote above. The remaining text on chapter "Pooled Consumers and prefetch" remains valid. was: On page http://activemq.apache.org/what-is-the-prefetch-limit-for.html, the section "Pooled Consumers and prefetch", particularly the part on DMLC and prefetch 0 seems incorrect. That chapter says: {quote} The problem is visible with the Spring DMLC when the cache level is set to CACHE_CONSUMER and there are multiple concurrent consumers. One solution to this problem is to use a prefetch of 0 for a pooled consumer, in this way, it will poll for messages on each call to receive(timeout). Another option is to enable the AbortSlowAckConsumerStrategy on the broker to disconnect consumers that have not acknowledged a Message after some configurable time period. {quote} Springs DMLC does not pool consumers in the traditional sense of placing idle consumers into a pool until they are requested. Spring caches consumers in their active JMS consumer threads. So these JMS consumers remain active and remain used to consume the next available message. There are not pooled in the way how Springs CachingConnectionFactory would pool them. It is therefore not necessary to configure a prefetch of 0 in this use case. I suggest to remove that paragraph that I quote above. The remaining text on chapter "Pooled Consumers and prefetch" remains valid. > [doc] Comment on DMLC and prefetch=0 on "Pooled Consumers and prefetch" > chapter seems wrong. > -------------------------------------------------------------------------------------------- > > Key: AMQ-6072 > URL: https://issues.apache.org/jira/browse/AMQ-6072 > Project: ActiveMQ > Issue Type: Bug > Components: Documentation > Affects Versions: 5.13.0 > Reporter: Torsten Mielke > Labels: docuentation > > On page http://activemq.apache.org/what-is-the-prefetch-limit-for.html, the > section "Pooled Consumers and prefetch", particularly the part on DMLC and > prefetch 0 seems incorrect. > That chapter says: > {quote} > The problem is visible with the Spring DMLC when the cache level is set to > CACHE_CONSUMER and there are multiple concurrent consumers. > One solution to this problem is to use a prefetch of 0 for a pooled consumer, > in this way, it will poll for messages on each call to receive(timeout). > Another option is to enable the AbortSlowAckConsumerStrategy on the broker to > disconnect consumers that have not acknowledged a Message after some > configurable time period. > {quote} > Springs DMLC does not pool consumers in the traditional sense of placing idle > consumers into a pool until they are requested. > Spring caches consumers in their active JMS consumer threads. So these cached > JMS consumers remain active and remain used to consume the next available > message. There are not pooled in the way how Springs CachingConnectionFactory > would pool them. It is therefore not necessary to configure a prefetch of 0 > in this use case. > I suggest to remove that paragraph that I quote above. The remaining text on > chapter "Pooled Consumers and prefetch" remains valid. -- This message was sent by Atlassian JIRA (v6.3.4#6332)