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, Target

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  java.lang.String outputChannelName
           
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
 void afterPropertiesSet()
           
 MessageHandler getHandler()
           
private  MessageChannel getOutputChannel()
           
 java.lang.String getOutputChannelName()
           
private  MessageChannel getReturnAddress(MessageHeader originalMessageHeader)
           
private  MessageChannel resolveReplyChannel(MessageHeader originalMessageHeader)
           
 void setOutputChannelName(java.lang.String outputChannelName)
          Set the name of the channel to which this endpoint should send reply messages.
 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
getChannelRegistry, getConcurrencyPolicy, getSubscription, getTarget, hasErrorHandler, isRunning, send, setChannelRegistry, setConcurrencyPolicy, setErrorHandler, setMessageSelector, setSubscription, setTarget, start, stop
 
Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
getName, setBeanName, setName, 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

outputChannelName

private volatile java.lang.String outputChannelName

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.


setOutputChannelName

public void setOutputChannelName(java.lang.String outputChannelName)
Set the name of the channel to which this endpoint should send reply messages.


getOutputChannelName

public java.lang.String getOutputChannelName()

setReturnAddressOverrides

public void setReturnAddressOverrides(boolean returnAddressOverrides)

afterPropertiesSet

public void afterPropertiesSet()
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Overrides:
afterPropertiesSet in class TargetEndpoint

resolveReplyChannel

private MessageChannel resolveReplyChannel(MessageHeader originalMessageHeader)

getReturnAddress

private MessageChannel getReturnAddress(MessageHeader originalMessageHeader)

getOutputChannel

private MessageChannel getOutputChannel()