# prefetch Values

The following table lists values used with the `prefetch` property.

Value | Description
--- | ---
`2` or more | The message consumer automatically fetches messages from the server. The message consumer never fetches more than the number of messages specified by value. See Automatic Fetch Enabled for details.
`1` | The message consumer automatically fetches messages from the server—initiating fetch only when it does not currently hold a message.
`none` | Disables automatic fetch. That is, the message consumer initiates fetch only when the client calls `receive`—either an explicit synchronous call, or an implicit call (in an asynchronous consumer). This value cannot be used with topics or global queues. See Automatic Fetch Disabled for details.
`0` | The destination inherits the `prefetch` value from a parent destination with a matching name. If it has no parent, or no destination in the parent chain sets a value for `prefetch`, then the default value is 5 queues and 64 for topics. When a destination does not set any value for `prefetch`, then the default value is 0 (zero; that is, inherit the `prefetch` value). See Inheritance for details.

Note: If both `prefetch` and `maxRedelivery` are set to a non-zero value, then there is a potential to lose prefetched messages if one of the messages exceeds the `maxRedelivery` limit. For example, `prefetch=5` and `maxRedelivery=4`. The first message is redelivered 4 times, hits the `maxRedelivery` limit and is sent to the undelivered queue (as expected). However, the other 4 pre-fetched messages are also sent to the undelivered queue and are not processed by the receiving application. The work around is to set `prefetch=none`, but this can have performance implications on large volume interfaces.
Copyright © Cloud Software Group, Inc. All rights reserved.