public abstract class MessagingGatewaySupport extends AbstractEndpoint implements TrackableComponent
MessageChannel
s for sending, receiving, or request-reply operations.
Exposes setters for configuring request and reply MessageChannel
s as
well as the timeout values for sending and receiving Messages.logger
Constructor and Description |
---|
MessagingGatewaySupport() |
Modifier and Type | Method and Description |
---|---|
protected void |
doStart()
Subclasses must implement this method with the start behavior.
|
protected void |
doStop()
Subclasses must implement this method with the stop behavior.
|
String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
protected Object |
receive() |
protected void |
send(Object object) |
protected Object |
sendAndReceive(Object object) |
protected Message<?> |
sendAndReceiveMessage(Object object) |
void |
setErrorChannel(MessageChannel errorChannel)
Set the error channel.
|
void |
setReplyChannel(MessageChannel replyChannel)
Set the reply channel.
|
void |
setReplyMapper(OutboundMessageMapper<?> replyMapper)
Provide an
OutboundMessageMapper for mapping to objects from
any reply Messages received in receive or sendAndReceive operations. |
void |
setReplyTimeout(long replyTimeout)
Set the timeout value for receiving reply messages.
|
void |
setRequestChannel(MessageChannel requestChannel)
Set the request channel.
|
void |
setRequestMapper(InboundMessageMapper<?> requestMapper)
Provide an
InboundMessageMapper for creating request Messages
from any object passed in a send or sendAndReceive operation. |
void |
setRequestTimeout(long requestTimeout)
Set the timeout value for sending request messages.
|
void |
setShouldTrack(boolean shouldTrack)
Specify whether this gateway should be tracked in the Message History
of Messages that originate from its send or sendAndReceive operations.
|
getPhase, isAutoStartup, isRunning, setAutoStartup, setPhase, setTaskScheduler, start, stop, stop
afterPropertiesSet, getApplicationContextId, getBeanFactory, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setComponentName, setConversionService, setMessageBuilderFactory, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
public void setRequestChannel(MessageChannel requestChannel)
requestChannel
- the channel to which request messages will be sentpublic void setReplyChannel(MessageChannel replyChannel)
replyChannel
- the channel from which reply messages will be receivedpublic void setErrorChannel(MessageChannel errorChannel)
errorChannel
- The error channel.public void setRequestTimeout(long requestTimeout)
requestTimeout
- the timeout value in millisecondspublic void setReplyTimeout(long replyTimeout)
replyTimeout
- the timeout value in millisecondspublic void setRequestMapper(InboundMessageMapper<?> requestMapper)
InboundMessageMapper
for creating request Messages
from any object passed in a send or sendAndReceive operation.requestMapper
- The request mapper.public void setReplyMapper(OutboundMessageMapper<?> replyMapper)
OutboundMessageMapper
for mapping to objects from
any reply Messages received in receive or sendAndReceive operations.replyMapper
- The reply mapper.public void setShouldTrack(boolean shouldTrack)
setShouldTrack
in interface TrackableComponent
public String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class IntegrationObjectSupport
protected void onInit() throws Exception
IntegrationObjectSupport
onInit
in class IntegrationObjectSupport
Exception
- Any exception.protected void send(Object object)
protected Object receive()
protected void doStart()
AbstractEndpoint
AbstractEndpoint.lifecycleLock
.doStart
in class AbstractEndpoint
protected void doStop()
AbstractEndpoint
AbstractEndpoint.lifecycleLock
.doStop
in class AbstractEndpoint