Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 12E5E200B6B for ; Thu, 11 Aug 2016 01:22:25 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 117DC160AB2; Wed, 10 Aug 2016 23:22:25 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 85402160AA4 for ; Thu, 11 Aug 2016 01:22:23 +0200 (CEST) Received: (qmail 71496 invoked by uid 500); 10 Aug 2016 23:22:22 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 71485 invoked by uid 99); 10 Aug 2016 23:22:22 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Aug 2016 23:22:22 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 52B1E180545 for ; Wed, 10 Aug 2016 23:22:22 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.375 X-Spam-Level: X-Spam-Status: No, score=0.375 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-1.426, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id cbR_mdf7pzuB for ; Wed, 10 Aug 2016 23:22:16 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id B8AF95F1D5 for ; Wed, 10 Aug 2016 23:22:15 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id BA850E0016 for ; Wed, 10 Aug 2016 23:22:14 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 68B173A02BD for ; Wed, 10 Aug 2016 23:22:14 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r994893 - in /websites/production/activemq/content: cache/main.pageCache per-destination-policies.html Date: Wed, 10 Aug 2016 23:22:13 -0000 To: commits@activemq.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20160810232214.68B173A02BD@svn01-us-west.apache.org> archived-at: Wed, 10 Aug 2016 23:22:25 -0000 Author: buildbot Date: Wed Aug 10 23:22:13 2016 New Revision: 994893 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 Wed Aug 10 23:22:13 2016 @@ -81,15 +81,16 @@ -

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.

The properties you can set on a Destination are as follows:

Common property

default

description

producerFlowControl

true

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

enableAudit

true

tracks duplicate messages (which can occur in failover for non-persistent messages)

useCache

true

persistent messages are cached for fast retrieval from store

maxPageSize

200

maximum number of messages to page from store at a time

maxBrowsePageSize

400< /p>

maximum number of messages to page from store for a browser

memoryLimit

n/a

The memory limit for a given destination. This acts as a child to the overall broker memory specified by the <systemUsage>'s memoryLimit attribute. There is no default for this value; it simply acts as a child to the overall broker memory until the broker memory is exhausted.

minimumMessageSize

1024

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

cursorMemoryHighWaterMark

70

the percentage (%) tipping point at which a system memory limit will cause a cursor to block or spool to disk

storeUsageHighWaterMark

100

the percentage (%) tipping point at which a system usage store limit will cause a send to block

prioritizedMessages

false

have the store respect message priori ty

advisoryForConsumed

false

send an advisory message when a message is consumed by a client

advisoryForDelivery

false

send an advisory message when a message is sent to a client

advisoryForSlowConsumers

false

send an advisory message if a consumer is deemed slow

advsioryForFastProducers

false

send an advisory message if a producer is deemed fast

advisoryWhenFull

false

send an advisory message when a limit (memory,store,temp disk) is full

includeBodyForAdvisory

false

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.

gcInactiveDestinations

false

delete inactive destination

inactiveTimoutBeforeGC

5000

inactivity period (in ms) before destination is considered inactive

usePrefetchExtension

true

the prefetch extension is used when a message is delivered but not acked, such that the broker can dispatch another message (e.g., prefetch == 0), the idea being that there will always be prefetch num messages pending. It also allows a transaction batch to exceed the prefetch value.

slowConsumerStrategy

null

sets the strategy for handling slow consumers. see abortSlowConsumerStrategy

maxDestinations

-1

(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.

Additional properties for a Queue

Queue only property

default

description

useConsumerPriority

true

use the priority of a consumer when dispatching messages from a Queue

strictOrderDispatch

false

if true queue will not round robin consumers, but it'll use a single one until its prefetch buffer is full

optimizedDispatch

false

don't use a separate thread for dispatching from a Queue

lazyDispatch

false

only page in from store the number of messages that can be dispatched at time

consumersBeforeDispatchStarts

0

when the first consumer connects, wait for specified number of consumers before message dispatching starts

timeBeforeDispatchStarts

0

when the first consumer connects, wait for specified time (in ms) before message dispatching starts

que uePrefetch

n/a

sets the prefetch for consumers that are using the default value

expireMessagesPeriod

30000

the period (in ms) of checks for message expiry on queued messages, value of 0 disables

persistJMSRedelivered

false

(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.

This ensures the message JMSRedelivered header is a reliable indication of possible duplicate delivery.

Additional properties for a Topic

Topic only property

default

description

topicPrefetch

n/a

sets the prefetch for topic consumers that are using the default value

durableTopicPrefetch

n/a

sets the prefetch for durable topic consumers that are using the default value

advisoryForDiscar dingMessages

false

send an advisory when a message is discarded from a non durable subscription

alwaysRetroactive

false

(v5.6) makes all subscribers retroactive negating the need to modify the clients to enable this feature

expireMessagesPeriod

30000

(v5.6) the period (in ms) of checks for message expiry on inactive durable subscribers, value of 0 disables

The following are examples of different policies that can be customised on a per destination basis

Here is an example of this in use.

-
<beans 
-  xmlns="http://www.springframework.org/schema/beans" 
-  xmlns:amq="http://activemq.apache.org/schema/core"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
-  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
-  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
-  <broker persistent="false" brokerName="${brokername}" xmlns="http://activemq.apache.org/schema/core">
+

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.

The properties you can set on a Destination are as follows:

Common Property

Default Value

Description

producerFlowControl

true

If true the broker will throttle (flow-control) the producer. Throttling is achieved either by withhol ding the producer's ACK or by raising a javax.jms.ResourceAllocationException (that's propagated back to the client) when local resources e.g., memory and/or storage, have been exhausted.

If false excess messages will be written to the message store to prevent memory exhaustion. However, when the message store reaches capacity the producer will be throttled until resources are freed.

enableAudit

true

When true the broker will track duplicate messages. Duplicates can happen for non-persistent messages during failover.

useCache

true

If true persistent messages are cached for fast retrieval from store.

maxPageSize

200

The maximum number of messages to page in from the store at one time. Increase this value to improve performance for queue destination's that contain grouped messages that are consumed by multiple concurrent consumers.

maxBrowsePageSize

400

The maximum number of messages to page in from the store at one time for a browser.

memoryLimit

n/a

The memory limit (in bytes) of the destination's cursor.

This memory limit is subordinate to the system level memory limit, as specified by the <systemUsage>/<memoryUsage> attribute. There is no default for this value; it simply acts as a child to the overall broker memory until the broker memory is exhausted.

Note: when this limit is specified the destination's cursorMemoryHighWaterMark will be applied against it and not the <systemUsage>/><memoryUsage> memory limit.

minimumMessageSize

1024

For non-serialized messages (embedded broker) - the assumed size of the message used for memory usage calculation. Serialized messages use the serialized size as the basis for the memory calculation.

cursorMemoryHighWaterMark

70

The percentage (%) threshold applied either to the <systemUsage>/<memoryUsage> or the destination's memoryLimit (when defined) which when exceeded will cause the destination's cursor to either block or write to disk.

storeUsageHighWaterMark

100

The percentage (%) threshold of the <systemUsage>/<storeUsage> store limit which when exceeded causes a send to block.

prioritizedMessages

false

Persist message priority information.

advisoryForConsumed

false

Send an advisory message when a message is consumed by a client.

advisoryForDelivery

false

Send an advisory message when a message is sent to a client.

advisoryForSlowConsumers

false

Send an advisory message if a consumer is deemed slow.

advsioryForFastProducers

false

Send an advisory message if a producer is deemed fast.

advisoryWhenFull

false

Send an advisory message when a limit (memory, store, temp disk) is full.

includeBodyForAdvisory

false

Includes the body of the original message that triggered the advisory as part of the dataStructure field in the advisory message (where applicable). Normally the message body is cleared.

gcInactiveDestinations

false

Garbage collect inactive destinations.

inactiveTimoutBeforeGC

5000

The timeout (in ms) after which a destination is considered inactive.

usePrefetchExtension

true

The prefetch extension is used when a message is delivered but not ACK'ed, such that the broker can dispatch another message, e.g., prefetch == 0, the idea being that there will always be prefetch number of messages pending. It also allows a transaction batch to exceed the prefetch value.

slowConsumerStrategy

null

Sets the strategy for handling slow consumers. See abortSlowConsumerStrategy.

maxDestinations

-1

(v5.12) If 0 or greater, sets the maximum number of destinations that can be created. This parameter is intended to limit the number of hierarchical destinations that can be created under a wildcard destination.

Additional properties for a Queue

Queue only property

Default Value

Description

useConsumerPriority

true

Use the priority of a consumer when dispatching messages from a Queue.

strictOrderDispatch

false

If true queue will not round robin consumers, but it'll use a single one until its prefetch buffer is full.

optimizedDispatch

false

Don't use a separate thread for dispatching from a Queue.

lazyDispatch

false

Only page in from store the number of messages that can be dispatched at time.

consumersBeforeDispatchStarts

0

When the first consumer connects, wait for specified number of consumers before message dispatching starts.

timeBeforeDispatchStarts

0

When the first consumer connects, wait for specified time (in ms) before message dispatching starts.

queuePrefetch

n/a

Sets the prefetch for consumers that are using the default value.

expireMessagesPeriod

30000

The period (in ms) of checks for message expiry on queued messages, value of 0 disables.

persistJMSRedelivered

false

(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.

This ensures the message JMSRedelivered header is a reliable indication of possible duplicate delivery.

Additional properties for a Topic

Topic only property

Default Value

Description

topicPrefetch

n/a

Sets the prefetch for topic consumers that are using the default value.

durableTopicPrefetch

n/a

Sets the prefetch for durable topic consumers that are using the default value.

advisoryForDiscardingMessages

false

Send an advisory when a message is discarded from a non durable subscription.

alwaysRetroactive

false

Makes all subscribers retroactive negating the need to modify the clients to enable this feature.

expireMessagesPeriod

30000

The interval (in ms) between message expiration checks on inactive durable subscribers.

Note: set to 0 to disable message expiration checking.

The following are examples of different policies that can be customized on a per destination basis:

Here is an example of this in use :

+
<beans xmlns="http://www.springframework.org/schema/beans" 
+       xmlns:amq="http://activemq.apache.org/schema/core"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+                           http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
+
+  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+
+  <broker persistent="false" brokerName="${brokername}" xmlns="http://activemq.apache.org/schema/core">
     <!--  lets define the dispatch policy -->
     <destinationPolicy>
       <policyMap>
@@ -102,20 +103,24 @@
               <lastImageSubscriptionRecoveryPolicy />
             </subscriptionRecoveryPolicy>
           </policyEntry>
+          
           <policyEntry topic="ORDERS.>">
             <dispatchPolicy>
               <strictOrderDispatchPolicy />
             </dispatchPolicy>
-            <!--  1 minutes worth -->
+
+            <!--  1 minute's worth -->
             <subscriptionRecoveryPolicy>
               <timedSubscriptionRecoveryPolicy recoverDuration="60000" />
             </subscriptionRecoveryPolicy>
           </policyEntry>
-          <policyEntry topic="PRICES.>">
+    
+          <policyEntry topic="PRICES.>">
             <!-- lets force old messages to be discarded for slow consumers -->
             <pendingMessageLimitStrategy>
               <constantPendingMessageLimitStrategy limit="10"/>
             </pendingMessageLimitStrategy>
+
             <!--  10 seconds worth -->
             <subscriptionRecoveryPolicy>
               <timedSubscriptionRecoveryPolicy recoverDuration="10000" />