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

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

public class SimpleDispatchPolicy
extends java.lang.Object
implements DispatchPolicy

Simple dispatch policy that sends a message to every subscription that matches the message.

Version:
$Revision$

Constructor Summary
SimpleDispatchPolicy()
           
 
Method Summary
 boolean dispatch(ConnectionContext context, 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

SimpleDispatchPolicy

public SimpleDispatchPolicy()
Method Detail

dispatch

public boolean dispatch(ConnectionContext context,
                        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.

Specified by:
dispatch in interface DispatchPolicy
Returns:
true if at least one consumer was dispatched or false if there are no active subscriptions that could be dispatched
Throws:
java.lang.Exception


Copyright © 2010 Apache Software Foundation. All Rights Reserved.