Save This Page
Home » activemq-parent-5.3.1-source-release » org.apache » activemq » broker » region » policy » [javadoc | source]
public interface: DispatchPolicy [javadoc | source]

All Known Implementing Classes:
    SimpleDispatchPolicy, RoundRobinDispatchPolicy, StrictOrderDispatchPolicy

Abstraction to allow different dispatching policies to be plugged into the region implementations. This is used by a queue to deliver messages to the matching subscriptions.
Method from Summary:
Method from Detail:
 public boolean dispatch(MessageReference node,
    MessageEvaluationContext msgContext,
    List<Subscription> consumers) throws Exception
    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.