Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-6072

[doc] Comment on DMLC and prefetch=0 on "Pooled Consumers and prefetch" chapter seems wrong.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Abandoned
    • 5.13.0
    • None
    • Documentation

    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:

      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.

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            tmielke Torsten Mielke
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: