You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by ColinStefani <co...@tideworks.com> on 2008/08/12 02:06:12 UTC

Setting "default" destinationPolicy

I want to confirm that I am doing this correctly under 5.x.

I have several queues and topics for various clients, servers, etc. to
communicate on. In general, I do not need persistence, large pre-fetches or
much in the way of message recovery (majority of the clients and services
can survive an expired or missed message during a restart or whatever). So
my intent here is to set a "default" policy for all topics and queues that
controls flow control, DLQ, etc. and then if I need specific policies on a
queue or topic I'd like to set that separately.

First, will the below destination policies work as shown to affect all
queues and topics on the broker?  I want to ensure the wildcard use and
syntax is functional as I expect it to be (I researched the XML reference,
but frankly I've gotten a little lost in there).

Second, if I added a new <policyEntry> below these two that sets a policy
for a specific topic or queue, would that take effect/work? or would there
be a precedence where the wildcard policy would override the one which
specifically names an actual topic or queue?

I couldn't find a reference to anything that showed how the wildcards vs.
named policies are processed and in what order they take effect, so
apologize if this has been covered before.

The following is an excerpt from my activemq.xml file:

[snip]

<destinationPolicy>
      <policyMap>
        <policyEntries>
		<!-- Policy for topics -->
          <policyEntry topic=">" producerFlowControl="false">
            <dispatchPolicy>
              <strictOrderDispatchPolicy/>
            </dispatchPolicy>
            <subscriptionRecoveryPolicy>
              <noSubscriptionRecoveryPolicy/>
            </subscriptionRecoveryPolicy>
			<deadLetterStrategy>
              <sharedDeadLetterStrategy processExpired="false"
processNonPersistent="false" />
            </deadLetterStrategy> 
			<pendingMessageLimitStrategy>
              <constantPendingMessageLimitStrategy limit="10"/>
            </pendingMessageLimitStrategy>
          </policyEntry>
		  <!-- Policy for queues -->
		  <policyEntry topic=">" producerFlowControl="false">
            <dispatchPolicy>
              <strictOrderDispatchPolicy/>
            </dispatchPolicy>
            <subscriptionRecoveryPolicy>
              <noSubscriptionRecoveryPolicy/>
            </subscriptionRecoveryPolicy>
			<deadLetterStrategy>
              <sharedDeadLetterStrategy processExpired="false"
processNonPersistent="false" />
            </deadLetterStrategy> 
			<pendingMessageLimitStrategy>
              <constantPendingMessageLimitStrategy limit="10"/>
            </pendingMessageLimitStrategy>
          </policyEntry>
        </policyEntries>
      </policyMap>
    </destinationPolicy>

[/SNIP]

Thanks, Colin

colin.stefani@tideworks.com
-- 
View this message in context: http://www.nabble.com/Setting-%22default%22-destinationPolicy-tp18935996p18935996.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.