Class UnicastingDispatcher
java.lang.Object
org.springframework.integration.dispatcher.AbstractDispatcher
org.springframework.integration.dispatcher.UnicastingDispatcher
- All Implemented Interfaces:
MessageDispatcher
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 MessageDispatchingException 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, Artem Bilan
-
Field Summary
Fields inherited from class org.springframework.integration.dispatcher.AbstractDispatcher
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanDispatch the message.voidsetFailover(boolean failover) Specify whether this dispatcher should failover when a singleMessageHandlerthrows an Exception.voidsetLoadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy) Provide aLoadBalancingStrategyfor this dispatcher.voidsetMessageHandlingTaskDecorator(MessageHandlingTaskDecorator messageHandlingTaskDecorator) Methods inherited from class org.springframework.integration.dispatcher.AbstractDispatcher
addHandler, getHandlerCount, getHandlers, removeHandler, setMaxSubscribers, toString, tryOptimizedDispatch
-
Constructor Details
-
UnicastingDispatcher
public UnicastingDispatcher() -
UnicastingDispatcher
-
-
Method Details
-
setFailover
public void setFailover(boolean failover) Specify whether this dispatcher should failover when a singleMessageHandlerthrows an Exception. The default value istrue.- Parameters:
failover- The failover boolean.
-
setLoadBalancingStrategy
Provide aLoadBalancingStrategyfor this dispatcher.- Parameters:
loadBalancingStrategy- The load balancing strategy implementation.
-
setMessageHandlingTaskDecorator
public void setMessageHandlingTaskDecorator(MessageHandlingTaskDecorator messageHandlingTaskDecorator) -
dispatch
Description copied from interface:MessageDispatcherDispatch the message.- Parameters:
message- the message.- Returns:
- true if dispatched.
-