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 1F421200D27 for ; Wed, 25 Oct 2017 18:24:37 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 1D8E21609E5; Wed, 25 Oct 2017 16:24:37 +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 12A0D1609DD for ; Wed, 25 Oct 2017 18:24:34 +0200 (CEST) Received: (qmail 81295 invoked by uid 500); 25 Oct 2017 16:24:34 -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 81286 invoked by uid 99); 25 Oct 2017 16:24:34 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Oct 2017 16:24:34 +0000 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 33ADC3A00AF for ; Wed, 25 Oct 2017 16:24:31 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1020038 - in /websites/production/activemq/content: cache/main.pageCache per-destination-policies.html virtual-destinations.html Date: Wed, 25 Oct 2017 16:24:29 -0000 To: commits@activemq.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20171025162432.33ADC3A00AF@svn01-us-west.apache.org> archived-at: Wed, 25 Oct 2017 16:24:37 -0000 Author: buildbot Date: Wed Oct 25 16:24:29 2017 New Revision: 1020038 Log: Production update by buildbot for activemq Modified: websites/production/activemq/content/cache/main.pageCache websites/production/activemq/content/per-destination-policies.html websites/production/activemq/content/virtual-destinations.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 Oct 25 16:24:29 2017 @@ -71,7 +71,7 @@ -

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

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.

advisoryForFastProducers

false

Send an advisory message if a producer is deemed fast.

advisoryForSlowConsumers

false

Send an advisory message if a consumer is deemed slow.

advisoryWhenFull

false

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

enableAudit

true

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

gcInactiveDestinations

false

Garbage collect inactive destinations.

inactiveTimoutBeforeGC

5000

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

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.

maxBrowsePageSize

400

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

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.

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.

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

< /td>

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.

prioritizedMessages

false

Persist message priority information.

producerFlowControl

true

If true the broker will throttle (flow-control) the producer. Throttling is achieved either by withholding the producer's ACK or by raising a javax.jms.ResourceAllocationExc eption (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.

slowConsumerStrategy

null

Sets the strategy for handling slow consumers. See AbortSlowConsumerStrategy.

storeUsageHighWat erMark

100

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

useCache

true

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

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.

sendFailIfNoSpace false(v5.16.0) If true, will cause a send to fail with a javax.jms.ResourceAllocationException when the destination has reached is resource limits (memory or storage)
sendFailIfNoSpaceAfterTimeout0(v5.16.0) if > 0, will cause a send to fail with a javax.jms.ResourceAllocationException when the destination resource limits (memory or storage) remain exhausted for the configured duration in milliseconds

Additional properties for a Queue

Queue Only Property

Default Value

Description

allConsumersExclusiveByDefault

false

When true all consumers will be exclusive. See ActiveMQ Exclusive Consumers

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.

consumersBeforeDispatchStarts

0

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

expireMessagesPeriod

30000

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

lazyDispatch

false

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

maxExpirePageSize
400

The maximum number of messages to page in when periodically expiring messages.

Messages are paged in according to this setting if the number of messages in memory pending dis patch is less than this value, and there are messages in the store to page in. Messages are expired during this paging step as they are brought into memory from the store.

Once the paging process is completed, messages are expired from the list of those that are in memory and pending dispatch, then from the list of those that are in memory but not yet targeted at a subscription.

optimizedDispatch

false

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

persistJMSRedelivered

false

(v 5.10) If true, before a persistent message is dispatched by the br oker 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.

queuePrefetch

n/a

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

strictOrderDispatch

false

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

timeBefore DispatchStarts

0

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

useConsumerPriority

true

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

Additional properties for a Topic

Topic Only Property

Default Value

Description

advisoryForDiscardingMessages

false

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

cursorMemoryHighWaterMark

70

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

alwaysRetroactive

false

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

durableTopicPrefetch

n/a

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

expireMessagesPeriod

30000

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

Note: set to 0 to disable message expiration checking.

topicPrefetch

n/a

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

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

 

+

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

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.

advisoryForFastProducers

false

Send an advisory message if a producer is deemed fast.

advisoryForSlowConsumers

false

Send an advisory message if a consumer is deemed slow.

advisoryWhenFull

false

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

enableAudit

true

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

gcInactiveDestinations

false

Garbage collect inactive destinations.

inactiveTimoutBeforeGC

5000

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

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.

maxBrowsePageSize

400

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

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.

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.

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

< /td>

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.

prioritizedMessages

false

Persist message priority information.

producerFlowControl

true

If true the broker will throttle (flow-control) the producer. Throttling is achieved either by withholding the producer's ACK or by raising a javax.jms.ResourceAllocationExc eption (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.

slowConsumerStrategy

null

Sets the strategy for handling slow consumers. See AbortSlowConsumerStrategy.

storeUsageHighWat erMark

100

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

useCache

true

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

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.

sendFailIfNoSpace false(v5.16.0) If true, will cause a send to fail with a javax.jms.ResourceAllocationException when the destination has reached is resource limits (memory or storage)
sendFailIfNoSpaceAfterTimeout0(v5.16.0) if > 0, will cause a send to fail with a javax.jms.ResourceAllocationException when the destination resource limits (memory or storage) remain exhausted for the configured duration in milliseconds

Additional properties for a Queue

Queue Only Property

Default Value

Description

allConsumersExclusiveByDefault

false

When true all consumers will be exclusive. See ActiveMQ Exclusive Consumers

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.

consumersBeforeDispatchStarts

0

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

expireMessagesPeriod

30000

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

lazyDispatch

false

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

maxExpirePageSize
400

The maximum number of messages to page in when periodically expiring messages.

Messages are paged in according to this setting if the number of messages in memory pending dis patch is less than this value, and there are messages in the store to page in. Messages are expired during this paging step as they are brought into memory from the store.

Once the paging process is completed, messages are expired from the list of those that are in memory and pending dispatch, then from the list of those that are in memory but not yet targeted at a subscription.

optimizedDispatch

false

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

persistJMSRedelivered

false

(v 5.10) If true, before a persistent message is dispatched by the br oker 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.

queuePrefetch

n/a

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

strictOrderDispatch

false

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

timeBefore DispatchStarts

0

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

useConsumerPriority

true

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

Additional properties for a Topic

Topic Only Property

Default Value

Description

advisoryForDiscardingMessages

false

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

cursorMemoryHighWaterMark

70

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

alwaysRetroactive

false

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

durableTopicPrefetch

n/a

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

expireMessagesPeriod

30000

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

Note: set to 0 to disable message expiration checking.

topicPrefetch

n/a

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

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

 

An example from the demos https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=assembly/src/release/examples/conf/activemq-demo.xml;hb=HEAD

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:amq="http://activemq.apache.org/schema/core"
 
  <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>
        <policyEntries>
          <policyEntry topic="FOO.>">
            <dispatchPolicy>
              <roundRobinDispatchPolicy />
            </dispatchPolicy>
            <subscriptionRecoveryPolicy>
              <lastImageSubscriptionRecoveryPolicy />
            </subscriptionRecoveryPolicy>
          </policyEntry>
           
          <policyEntry topic="ORDERS.>">
            <dispatchPolicy>
  0;            <strictOrderDispatchPolicy />
            </dispatchPolicy>
 
            <!--  1 minute's worth -->
            <subscriptionRecoveryPolicy< code class="xml plain">>
              <timedSubscriptionRecoveryPolicy recoverDuration="60000" />
            </subscriptionRecoveryPolicy>
          </policyEntry>
     
          <policyEntry topic="PRICES.>">
            <!-- lets force old messages to be discarded for slow consumers -->
            <pendingMessageLimitStrategy>
    0;          <constantPendingMessageLimitStrategy limit="10"/>
            </pendingMessageLimitStrategy>
 
            <!--  10 seconds worth -->
          0;  <subscriptionRecoveryPolicy>
              <timedSubscriptionRecoveryPolicy recoverDuration="10000" />
            </subscriptionRecoveryPolicy>
              
          </policyEntry>
          <policyEntry tempTopic="true" advisoryForConsumed="true" />
          <policyEntry tempQue ue="true" advisoryForConsumed="true" />
        </policyEntries>
      </policyMap>
    </destinationPolicy>
  </broker>
</beans>