org.springframework.integration.handler
Class AbstractMessageHandler

java.lang.Object
  extended by org.springframework.integration.handler.AbstractMessageHandler
All Implemented Interfaces:
org.springframework.core.Ordered, MessageHandler
Direct Known Subclasses:
AbstractMessageBarrierHandler, AbstractMessageRouter, AbstractReplyProducingMessageHandler, ApplicationEventPublishingMessageHandler, LoggingHandler, RecipientListRouter

public abstract class AbstractMessageHandler
extends java.lang.Object
implements MessageHandler, org.springframework.core.Ordered

Base class for MessageHandler implementations that provides basic validation and error handling capabilities. Asserts that the incoming Message is not null and that it does not contain a null payload. Converts checked exceptions into runtime MessagingExceptions.

Author:
Mark Fisher

Field Summary
protected  org.apache.commons.logging.Log logger
           
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
AbstractMessageHandler()
           
 
Method Summary
 int getOrder()
           
 void handleMessage(Message<?> message)
          Handles the message if possible.
protected abstract  void handleMessageInternal(Message<?> message)
           
 void setOrder(int order)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.apache.commons.logging.Log logger
Constructor Detail

AbstractMessageHandler

public AbstractMessageHandler()
Method Detail

setOrder

public void setOrder(int order)

getOrder

public int getOrder()
Specified by:
getOrder in interface org.springframework.core.Ordered

handleMessage

public final void handleMessage(Message<?> message)
Description copied from interface: MessageHandler
Handles the message if possible. If the handler cannot deal with the message this will result in a MessageRejectedException e.g. in case of a Selective Consumer. When a consumer tries to handle a message, but fails to do so, a MessageHandlingException is thrown. In the last case it is recommended to treat the message as tainted and go into an error scenario.

When the handling results in a message being sent failure to send that message will result in a MessageDeliveryException.

Specified by:
handleMessage in interface MessageHandler
Parameters:
message - the message to be handled

handleMessageInternal

protected abstract void handleMessageInternal(Message<?> message)
                                       throws java.lang.Exception
Throws:
java.lang.Exception