org.apache.activemq.broker.region.policy
Class StrictOrderDispatchPolicy

java.lang.Object
  extended by org.apache.activemq.broker.region.policy.StrictOrderDispatchPolicy
All Implemented Interfaces:
DispatchPolicy

public class StrictOrderDispatchPolicy
extends java.lang.Object
implements DispatchPolicy

Dispatch policy that causes every subscription to see messages in the same order.


Constructor Summary
StrictOrderDispatchPolicy()
           
 
Method Summary
 boolean dispatch(MessageReference node, MessageEvaluationContext msgContext, java.util.List consumers)
          Decides how to dispatch a selected message to a collection of consumers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StrictOrderDispatchPolicy

public StrictOrderDispatchPolicy()
Method Detail

dispatch

public boolean dispatch(MessageReference node,
                        MessageEvaluationContext msgContext,
                        java.util.List consumers)
                 throws java.lang.Exception
Description copied from interface: DispatchPolicy
Decides how to dispatch a selected message to a collection of consumers. A safe approach is to dispatch to every subscription that matches. Queue Subscriptions that have not exceeded their pre-fetch limit will attempt to lock the message before dispatching to the client. First subscription to lock the message wins. Order of dispatching to the subscriptions matters since a subscription with a large pre-fetch may take all the messages if he is always dispatched to first. Once a message has been locked, it does not need to be dispatched to any further subscriptions. The list will be safe to iterate over when this method is called

Specified by:
dispatch in interface DispatchPolicy
Parameters:
node -
msgContext -
consumers -
Returns:
true if dispatched
Throws:
java.lang.Exception
See Also:
DispatchPolicy.dispatch(org.apache.activemq.broker.region.MessageReference, org.apache.activemq.filter.MessageEvaluationContext, java.util.List)


Copyright © 2005-2012. All Rights Reserved.