public final class MessageDispatchSender extends Object implements Sender, MessageDispatchRegistry
Sender
class 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 MessageDispatchRegistry
T
- 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 MessageDispatchRegistry
T
- 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 MessageDispatchRegistry
messageHandler
- The sender.public void send(Message message) throws CommunicationException
send
in interface Sender
message
- The message.CommunicationException
- If one of the handlers failed.Copyright © 2000-2014. All Rights Reserved.