activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r964641 - in /websites/production/activemq/content: cache/main.pageCache per-destination-policies.html
Date Mon, 07 Sep 2015 14:21:12 GMT
Author: buildbot
Date: Mon Sep  7 14:21:12 2015
New Revision: 964641

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/per-destination-policies.html

Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/activemq/content/per-destination-policies.html
==============================================================================
--- websites/production/activemq/content/per-destination-policies.html (original)
+++ websites/production/activemq/content/per-destination-policies.html Mon Sep  7 14:21:12
2015
@@ -83,7 +83,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><p>We support a number of different policies
which can be attached to individual destinations (queues, topics) or to wildcards of queue/topic
hierarchies. This makes it easy to configure how different regions of the JMS destination
space are handled.</p><p>The properties you can set on a Destination are as follows:</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Common property</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>default</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>producerFlowControl</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the producer will slow down and eventually block
if no resources(e.g. memory) are available on the broker. If this is off messages get off-lined
to dis
 k to prevent memory exhaustion</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>enableAudit</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>tracks duplicate messages (which can occur in failover for
non-persistent messages)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>useCache</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>persistent
messages are cached for fast retrieval from store</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>maxPageSize</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>200</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>maximum number of persistent messages to page
from store at a time</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>maxBrowsePageSize</p></td><td colspan="1"
rowspan="1" class="confluence
 Td"><p>400</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>maximum
number of persistent messages to page from store for a browser</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>memoryLimit</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>n/a</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The memory limit for a given destination. This
acts as a child to the overall broker memory specified by the <a shape="rect" href="producer-flow-control.html"><code>&lt;systemUsage&gt;</code>'s
<code>memoryLimit</code> attribute</a>. There is no default for this value;
it simply acts as a child to the overall broker memory until the broker memory is exhausted.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>minimumMessageSize</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>1024</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>for non-serialized messages (embedded broker)
- the assumed size of the me
 ssage used for memory usage calculation. Serialized messages used the serialized size as
the basis for the memory calculation</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>cursorMemoryHighWaterMark</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>70</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the percentage (%) tipping point at which a system
memory limit will cause a cursor to block or spool to disk</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>storeUsageHighWaterMark</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>100</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the percentage (%) tipping point at which a system
usage store limit will cause a sent to block</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>prioritizedMessages</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>have the store 
 respect message priority</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>advisoryForConsumed</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>send an advisory message when a message is consumed
by a client</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>advisoryForDelivery</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>send an advisory message when a message
is sent to a client</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>advisoryForSlowConsumers</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>send an advisory message if a consumer is deemed
slow</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>advsioryForFastProducers</p></td><td
colspan="1" rowspan="1" class="conflue
 nceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>send
an advisory message if a producer is deemed fast</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>advisoryWhenFull</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>send an advisory message when a limit
(memory,store,temp disk) is full</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>includeBodyForAdvisory</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>includes the body of the original
message that triggered the advisory as part of the dataStructure field in the advisory message
(when applicable). Normally the message body is cleared.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>gcInactiveDestinations</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1
 " rowspan="1" class="confluenceTd"><p>delete inactive destination</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>inactiveTimoutBeforeGC</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>5000</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>inactivity period (in ms) before destination
is considered inactive</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span>usePrefetchExtension</span></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the prefetch extension is used when a&#160;message
is delivered but not acked, such that the broker can dispatch&#160;another message (e.g.,
prefetch == 0), the idea being that there will always be prefetch num&#160;messages pending.
It also allows a transaction batch to exceed the prefetch&#160;value.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>slowConsumerStrategy</p></td><td
colspan="1" 
 rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>sets the strategy for handling slow consumers.
see <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowConsumerStrategy.java">abortSlowConsumerStrategy</a></p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>maxDestinations</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>-1</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>(v5.12) if 0 or greater, sets the maximum number
of destinations that can be created. This is useful to limit the number of hierarchical destinations
that can be created under a wildcard destination.</p></td></tr></tbody></table></div><p>Additional
properties for a Queue</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p>Queue only property</p
 ></th><th colspan="1" rowspan="1" class="confluenceTh"><p>default</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>useConsumerPriority</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>use the priority of a consumer when dispatching
messages from a Queue</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>strictOrderDispatch</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>if true queue will not round robin consumers,
but it'll use a single one until its prefetch buffer is full</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>optimizedDispatch</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>don't use a separate thread for dispatch
 ing from a Queue</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>lazyDispatch</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>only page in from store the number of messages that can be
dispatched at time</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>consumersBeforeDispatchStarts</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>when the first consumer connects, wait for specified
number of consumers before message dispatching starts</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>timeBeforeDispatchStarts</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>when the first consumer connects, wait for specified
time (in ms) before message dispatching starts</p></td></tr><tr><td
colspan="1" rowspan="1" class
 ="confluenceTd"><p>queuePrefetch</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>n/a</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>sets
the prefetch for consumers that are using the default value</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>expireMessagesPeriod</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>30000</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>the period (in ms) of checks for
message expiry on queued messages, value of 0 disables</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>persistJMSRedelivered</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>(v 5.10) if true, before a persistent
message is dispatched by the broker for the first time, the message is rewritten to reflect
the possible delivery.</p><p>This ensures the message JMSRedelivered header is
a reliable indication of possible duplicate d
 elivery.</p></td></tr></tbody></table></div><p>Additional
properties for a Topic</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p>Topic only property</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>default</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>topicPrefetch</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>n/a</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>sets the prefetch for topic consumers that are
using the default value</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>durableTopicPrefetch</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>n/a</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>sets the prefetch for durable topic consumers that are using
the default value</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd
 "><p>advisoryForDiscardingMessages</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>send an advisory when a message is discarded from a non durable
subscription</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span
style="color: rgb(0,0,0);">alwaysRetroactive</span></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>(v5.6) makes all subscribers retroactive negating
the need to modify the clients to enable this feature</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);">expireMessagesPeriod</span></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>30000</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>(v5.6) the period (in ms) of checks
for message expiry on inactive durable subscribers, value of 0 disables</p></td></tr></tbody></table></div><p>
 <span style="line-height: 1.4285715;">The following are examples of different policies
that can be customised on a per destination basis</span></p><ul><li><a
shape="rect" href="dispatch-policies.html">Dispatch Policies</a></li></ul><p>Here
is an <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-unit-tests/src/test/resources/org/apache/activemq/xbean/activemq-policy.xml">example</a>
of this in use.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><p>We support a number of different policies
which can be attached to individual destinations (queues, topics) or to wildcards of queue/topic
hierarchies. This makes it easy to configure how different regions of the JMS destination
space are handled.</p><p>The properties you can set on a Destination are as follows:</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Common property</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>default</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>producerFlowControl</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the producer will slow down and eventually block
if no resources(e.g. memory) are available on the broker. If this is off messages get off-lined
to dis
 k to prevent memory exhaustion</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>enableAudit</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>tracks duplicate messages (which can occur in failover for
non-persistent messages)</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>useCache</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>persistent
messages are cached for fast retrieval from store</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>maxPageSize</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>200</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>maximum number of messages to page from store
at a time</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxBrowsePageSize</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>400<
 /p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>maximum
number of messages to page from store for a browser</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>memoryLimit</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>n/a</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The memory limit for a given destination. This
acts as a child to the overall broker memory specified by the <a shape="rect" href="producer-flow-control.html"><code>&lt;systemUsage&gt;</code>'s
<code>memoryLimit</code> attribute</a>. There is no default for this value;
it simply acts as a child to the overall broker memory until the broker memory is exhausted.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>minimumMessageSize</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>1024</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>for non-serialized messages (embedded broker)
- the assumed size of the message used for memory 
 usage calculation. Serialized messages used the serialized size as the basis for the memory
calculation</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>cursorMemoryHighWaterMark</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>70</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the percentage (%) tipping point at which a system
memory limit will cause a cursor to block or spool to disk</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>storeUsageHighWaterMark</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>100</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the percentage (%) tipping point at which a system
usage store limit will cause a sent to block</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>prioritizedMessages</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>have the store respect message priori
 ty</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>advisoryForConsumed</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>send an advisory message when a message
is consumed by a client</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>advisoryForDelivery</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>send an advisory message when a message is sent
to a client</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>advisoryForSlowConsumers</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>send an advisory message if a consumer
is deemed slow</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>advsioryForFastProducers</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></t
 d><td colspan="1" rowspan="1" class="confluenceTd"><p>send an advisory message
if a producer is deemed fast</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>advisoryWhenFull</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>send an advisory message when a limit (memory,store,temp
disk) is full</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>includeBodyForAdvisory</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>includes the body of the original
message that triggered the advisory as part of the dataStructure field in the advisory message
(when applicable). Normally the message body is cleared.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>gcInactiveDestinations</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="c
 onfluenceTd"><p>delete inactive destination</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>inactiveTimoutBeforeGC</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>5000</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>inactivity period (in ms) before destination
is considered inactive</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span>usePrefetchExtension</span></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the prefetch extension is used when a&#160;message
is delivered but not acked, such that the broker can dispatch&#160;another message (e.g.,
prefetch == 0), the idea being that there will always be prefetch num&#160;messages pending.
It also allows a transaction batch to exceed the prefetch&#160;value.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>slowConsumerStrategy</p></td><td
colspan="1" rowspan="1" class="con
 fluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>sets
the strategy for handling slow consumers. see <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowConsumerStrategy.java">abortSlowConsumerStrategy</a></p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>maxDestinations</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>-1</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>(v5.12) if 0 or greater, sets the maximum number
of destinations that can be created. This is useful to limit the number of hierarchical destinations
that can be created under a wildcard destination.</p></td></tr></tbody></table></div><p>Additional
properties for a Queue</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p>Queue only property</p></th><th
colspan="1" 
 rowspan="1" class="confluenceTh"><p>default</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>useConsumerPriority</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>use the priority of a consumer when dispatching
messages from a Queue</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>strictOrderDispatch</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>if true queue will not round robin consumers,
but it'll use a single one until its prefetch buffer is full</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>optimizedDispatch</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>don't use a separate thread for dispatching
from a Queue</p></
 td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>lazyDispatch</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>only page in from store the number
of messages that can be dispatched at time</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>consumersBeforeDispatchStarts</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>when the first consumer connects, wait for specified
number of consumers before message dispatching starts</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>timeBeforeDispatchStarts</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>when the first consumer connects, wait for specified
time (in ms) before message dispatching starts</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>que
 uePrefetch</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>n/a</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>sets the prefetch for consumers that
are using the default value</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>expireMessagesPeriod</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>30000</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>the period (in ms) of checks for message expiry
on queued messages, value of 0 disables</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>persistJMSRedelivered</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>(v 5.10) if true, before a persistent
message is dispatched by the broker for the first time, the message is rewritten to reflect
the possible delivery.</p><p>This ensures the message JMSRedelivered header is
a reliable indication of possible duplicate delivery.</p></td></tr>
 </tbody></table></div><p>Additional properties for a Topic</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Topic only property</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>default</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>topicPrefetch</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>n/a</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>sets the prefetch for topic consumers that are
using the default value</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>durableTopicPrefetch</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>n/a</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>sets the prefetch for durable topic consumers that are using
the default value</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>advisoryForDiscar
 dingMessages</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>send an advisory when a message is
discarded from a non durable subscription</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);">alwaysRetroactive</span></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>(v5.6) makes all subscribers retroactive
negating the need to modify the clients to enable this feature</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);">expireMessagesPeriod</span></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>30000</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>(v5.6) the period (in ms) of checks
for message expiry on inactive durable subscribers, value of 0 disables</p></td></tr></tbody></table></div><p><span
style="line-heig
 ht: 1.4285715;">The following are examples of different policies that can be customised
on a per destination basis</span></p><ul><li><a shape="rect" href="dispatch-policies.html">Dispatch
Policies</a></li></ul><p>Here is an <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-unit-tests/src/test/resources/org/apache/activemq/xbean/activemq-policy.xml">example</a>
of this in use.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 &lt;beans 
   xmlns=&quot;http://www.springframework.org/schema/beans&quot; 



Mime
View raw message