public interface: DispatchPolicy
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 org.apache.activemq.broker.region.policy.DispatchPolicy Summary:|
|Method from org.apache.activemq.broker.region.policy.DispatchPolicy Detail:|
public boolean dispatch(MessageReference node,
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