org.springframework.integration.dispatcher
Class UnicastingDispatcher
java.lang.Object
org.springframework.integration.dispatcher.AbstractDispatcher
org.springframework.integration.dispatcher.UnicastingDispatcher
- All Implemented Interfaces:
- MessageDispatcher
public class UnicastingDispatcher
- extends AbstractDispatcher
Implementation of MessageDispatcher that will attempt to send a
Message to at most one of its handlers. The handlers will be tried
as determined by the LoadBalancingStrategy if one is configured. As
soon as one of the handlers accepts the Message, the dispatcher will
return true and ignore the rest of its handlers.
If the dispatcher has no handlers, a MessageDeliveryException will be
thrown. If all handlers throw Exceptions, the dispatcher will throw an
AggregateMessageDeliveryException.
A load-balancing strategy may be provided to this class to control the order in
which the handlers will be tried.
- Since:
- 1.0.2
- Author:
- Iwein Fuld, Mark Fisher, Gary Russell, Oleg Zhurakousky
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
UnicastingDispatcher
public UnicastingDispatcher()
UnicastingDispatcher
public UnicastingDispatcher(java.util.concurrent.Executor executor)
setFailover
public void setFailover(boolean failover)
- Specify whether this dispatcher should failover when a single
MessageHandler throws an Exception. The default value is
true.
setLoadBalancingStrategy
public void setLoadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)
- Provide a
LoadBalancingStrategy for this dispatcher.
dispatch
public final boolean dispatch(Message<?> message)