public abstract class AbstractReplyProducingMessageHandler extends AbstractMessageHandler implements MessageProducer, BeanClassLoaderAware
| Modifier and Type | Class and Description |
|---|---|
static interface |
AbstractReplyProducingMessageHandler.RequestHandler |
loggerHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| Constructor and Description |
|---|
AbstractReplyProducingMessageHandler() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doInit() |
protected Object |
doInvokeAdvisedRequestHandler(Message<?> message) |
protected MessagingTemplate |
getMessagingTemplate()
Provides access to the
MessagingTemplate for subclasses. |
protected void |
handleMessageInternal(Message<?> message) |
protected abstract Object |
handleRequestMessage(Message<?> requestMessage)
Subclasses must implement this method to handle the request Message.
|
protected boolean |
hasAdviceChain() |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
protected void |
produceReply(Object reply,
MessageHeaders requestHeaders) |
void |
setAdviceChain(List<Advice> adviceChain) |
void |
setBeanClassLoader(ClassLoader beanClassLoader) |
void |
setChannelResolver(DestinationResolver<MessageChannel> channelResolver)
Set the DestinationResolver<MessageChannel> to be used when there is no default output channel.
|
void |
setOutputChannel(MessageChannel outputChannel)
Specify the MessageChannel to which produced Messages should be sent.
|
void |
setOutputChannelName(String outputChannelName) |
void |
setRequiresReply(boolean requiresReply)
Flag whether a reply is required.
|
void |
setSendTimeout(long sendTimeout)
Set the timeout for sending reply Messages.
|
protected boolean |
shouldCopyRequestHeaders()
Subclasses may override this.
|
getComponentType, getOrder, handleMessage, setOrder, setShouldTrackafterPropertiesSet, getApplicationContextId, getBeanFactory, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setComponentName, setConversionService, setMessageBuilderFactory, setTaskScheduler, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetComponentNamepublic AbstractReplyProducingMessageHandler()
public void setOutputChannel(MessageChannel outputChannel)
MessageProducersetOutputChannel in interface MessageProduceroutputChannel - The output channel.public void setOutputChannelName(String outputChannelName)
public void setSendTimeout(long sendTimeout)
sendTimeout - The send timeout.public void setChannelResolver(DestinationResolver<MessageChannel> channelResolver)
channelResolver - The channel resolver.public void setRequiresReply(boolean requiresReply)
requiresReply - true if a reply is required.protected MessagingTemplate getMessagingTemplate()
MessagingTemplate for subclasses.protected boolean hasAdviceChain()
public void setBeanClassLoader(ClassLoader beanClassLoader)
setBeanClassLoader in interface BeanClassLoaderAwareprotected final void onInit()
IntegrationObjectSupportonInit in class IntegrationObjectSupportprotected void doInit()
protected final void handleMessageInternal(Message<?> message)
handleMessageInternal in class AbstractMessageHandlerprotected void produceReply(Object reply, MessageHeaders requestHeaders)
protected boolean shouldCopyRequestHeaders()
protected abstract Object handleRequestMessage(Message<?> requestMessage)
requestMessage - The request message.null.