public final class MessageDispatchSender extends Object implements Sender, MessageDispatchRegistry
Senderclass that dispatches incoming messages to the
appropriate handler.MessageDispatchRegistry.AbstractBlockingHandler<T extends Message>, MessageDispatchRegistry.AbstractHandler<T extends Message>, MessageDispatchRegistry.BlockingHandler<T extends Message>, MessageDispatchRegistry.Handler<T extends Message>| Constructor and Description |
|---|
MessageDispatchSender() |
| Modifier and Type | Method and Description |
|---|---|
void |
addFallback(MessageDispatchRegistry.Handler<Message> messageHandler)
Register a message handler that is called if no other handler or responder
is registered for the message type.
|
void |
send(Message message)
Sends a message to each handler until one claims to have handled the
message.
|
<T extends Message,S extends T> |
set(Class<S> messageType,
MessageDispatchRegistry.BlockingHandler<T> responder)
Register a message responder.
|
<T extends Message,S extends T> |
set(Class<S> messageType,
MessageDispatchRegistry.Handler<T> messageHandler)
Register a message handler.
|
void |
shutdown()
Shutdown all our handlers.
|
public <T extends Message,S extends T> MessageDispatchRegistry.Handler<T> set(Class<S> messageType, MessageDispatchRegistry.Handler<T> messageHandler)
set in interface MessageDispatchRegistryT - Constrains messageHandler to be able to handle messageType.S - Class of messageType.messageType - Messages of this type will be routed to the handler.messageHandler - The message handler.messageType or null.public <T extends Message,S extends T> MessageDispatchRegistry.BlockingHandler<T> set(Class<S> messageType, MessageDispatchRegistry.BlockingHandler<T> responder)
set in interface MessageDispatchRegistryT - Constrains messageHandler to be able to handle messageType.S - Class of messageType.messageType - Messages of this type will be routed to the handler.responder - The message responder.messageType or null.public void addFallback(MessageDispatchRegistry.Handler<Message> messageHandler)
addFallback in interface MessageDispatchRegistrymessageHandler - The sender.public void send(Message message) throws CommunicationException
send in interface Sendermessage - The message.CommunicationException - If one of the handlers failed.Copyright © 2000-2014. All Rights Reserved.