Class AbstractDispatcher
java.lang.Object
org.springframework.integration.dispatcher.AbstractDispatcher
- All Implemented Interfaces:
MessageDispatcher
- Direct Known Subclasses:
BroadcastingDispatcher,UnicastingDispatcher
public abstract class AbstractDispatcher extends Object implements MessageDispatcher
Base class for
MessageDispatcher implementations.
The subclasses implement the actual dispatching strategy, but this base class
manages the registration of MessageHandlers. Although the implemented
dispatching strategies may invoke handles in different ways (e.g. round-robin
vs. failover), this class does maintain the order of the underlying
collection. See the OrderedAwareCopyOnWriteArraySet for more detail.
- Author:
- Mark Fisher, Iwein Fuld, Oleg Zhurakousky, Gary Russell, Diego Belfer, Artem Bilan
-
Field Summary
-
Constructor Summary
Constructors Constructor Description AbstractDispatcher() -
Method Summary
Modifier and Type Method Description booleanaddHandler(MessageHandler handler)Add the handler to the internal Set.intgetHandlerCount()Return the current handler count.protected Set<MessageHandler>getHandlers()Returns an unmodifiableSetof this dispatcher's handlers.booleanremoveHandler(MessageHandler handler)Remove the handler from the internal handler Set.voidsetMaxSubscribers(int maxSubscribers)Set the maximum subscribers allowed by this dispatcher.StringtoString()protected booleantryOptimizedDispatch(Message<?> message)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.dispatcher.MessageDispatcher
dispatch
-
Field Details
-
Constructor Details
-
AbstractDispatcher
public AbstractDispatcher()
-
-
Method Details
-
setMaxSubscribers
public void setMaxSubscribers(int maxSubscribers)Set the maximum subscribers allowed by this dispatcher.- Parameters:
maxSubscribers- The maximum number of subscribers allowed.
-
getHandlers
Returns an unmodifiableSetof this dispatcher's handlers. This is provided for access by subclasses.- Returns:
- The message handlers.
-
addHandler
Add the handler to the internal Set.- Specified by:
addHandlerin interfaceMessageDispatcher- Parameters:
handler- The handler to add.- Returns:
- the result of
Set.add(Object)
-
removeHandler
Remove the handler from the internal handler Set.- Specified by:
removeHandlerin interfaceMessageDispatcher- Parameters:
handler- the handler.- Returns:
- the result of
Set.remove(Object)
-
tryOptimizedDispatch
-
toString
-
getHandlerCount
public int getHandlerCount()Description copied from interface:MessageDispatcherReturn the current handler count.- Specified by:
getHandlerCountin interfaceMessageDispatcher- Returns:
- the handler count.
-