org.springframework.integration.endpoint
Class HandlerEndpoint

java.lang.Object
  extended by org.springframework.integration.endpoint.AbstractEndpoint
      extended by org.springframework.integration.endpoint.TargetEndpoint
          extended by org.springframework.integration.endpoint.HandlerEndpoint
All Implemented Interfaces:
org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, ChannelRegistryAware, MessageEndpoint, MessageTarget

public class HandlerEndpoint
extends TargetEndpoint

Implementation of the MessageEndpoint interface for invoking MessageHandlers.

Author:
Mark Fisher

Nested Class Summary
private  class HandlerEndpoint.EndpointReplyHandler
           
private static class HandlerEndpoint.HandlerInvokingTarget
           
 
Field Summary
private  MessageHandler handler
           
private  ReplyHandler replyHandler
           
private  long replyTimeout
           
private  boolean returnAddressOverrides
           
 
Fields inherited from class org.springframework.integration.endpoint.AbstractEndpoint
logger
 
Constructor Summary
HandlerEndpoint(MessageHandler handler)
           
 
Method Summary
 MessageHandler getHandler()
           
private  MessageChannel getReturnAddress(MessageHeader originalMessageHeader)
           
 void initialize()
           
private  MessageChannel resolveReplyChannel(MessageHeader originalMessageHeader)
           
 void setReplyHandler(ReplyHandler replyHandler)
           
 void setReplyTimeout(long replyTimeout)
          Set the timeout in milliseconds to be enforced when this endpoint sends a reply message.
 void setReturnAddressOverrides(boolean returnAddressOverrides)
           
 
Methods inherited from class org.springframework.integration.endpoint.TargetEndpoint
getTarget, handleMessage, poll, setMessageSelector, setReceiveTimeout, setSendTimeout, setTarget, supports
 
Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
addInterceptor, afterPropertiesSet, getChannelRegistry, getInputChannel, getInputChannelName, getInterceptors, getName, getOutputChannel, getOutputChannelName, getSchedule, getTrigger, isRunning, send, setAutoStartup, setBeanName, setChannelRegistry, setInputChannel, setInputChannelName, setInterceptors, setName, setOutputChannel, setOutputChannelName, setSchedule, setTrigger, start, stop, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

handler

private volatile MessageHandler handler

replyHandler

private volatile ReplyHandler replyHandler

replyTimeout

private volatile long replyTimeout

returnAddressOverrides

private volatile boolean returnAddressOverrides
Constructor Detail

HandlerEndpoint

public HandlerEndpoint(MessageHandler handler)
Method Detail

getHandler

public MessageHandler getHandler()

setReplyHandler

public void setReplyHandler(ReplyHandler replyHandler)

setReplyTimeout

public void setReplyTimeout(long replyTimeout)
Set the timeout in milliseconds to be enforced when this endpoint sends a reply message. If the message is not sent successfully within the allotted time, then a MessageDeliveryException will be thrown. The default replyTimeout value is 1000 milliseconds.


setReturnAddressOverrides

public void setReturnAddressOverrides(boolean returnAddressOverrides)

initialize

public void initialize()
Overrides:
initialize in class TargetEndpoint

resolveReplyChannel

private MessageChannel resolveReplyChannel(MessageHeader originalMessageHeader)

getReturnAddress

private MessageChannel getReturnAddress(MessageHeader originalMessageHeader)