org.springframework.integration.ip.tcp
Class TcpInboundGateway
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.gateway.MessagingGatewaySupport
org.springframework.integration.ip.tcp.TcpInboundGateway
- All Implemented Interfaces:
- org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, org.springframework.integration.context.NamedComponent, org.springframework.integration.history.TrackableComponent, ClientModeCapable, TcpListener, TcpSender
public class TcpInboundGateway
- extends org.springframework.integration.gateway.MessagingGatewaySupport
- implements TcpListener, TcpSender, ClientModeCapable
Inbound Gateway using a server connection factory - threading is controlled by the
factory. For java.net connections, each socket can process only one message at a time.
For java.nio connections, messages may be multiplexed but the client will need to
provide correlation logic. If the client is a TcpOutboundGateway multiplexing
is not used, but multiple concurrent connections can be used if the connection factory uses
single-use connections. For true asynchronous bi-directional communication, a pair of
inbound / outbound channel adapters should be used.
- Since:
- 2.0
| Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport |
logger |
| Methods inherited from class org.springframework.integration.gateway.MessagingGatewaySupport |
receive, send, sendAndReceive, sendAndReceiveMessage, setErrorChannel, setReplyChannel, setReplyMapper, setReplyTimeout, setRequestChannel, setRequestMapper, setRequestTimeout, setShouldTrack |
| Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint |
getPhase, isAutoStartup, isRunning, setAutoStartup, setPhase, setTaskScheduler, start, stop, stop |
| Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.springframework.integration.context.NamedComponent |
getComponentName |
TcpInboundGateway
public TcpInboundGateway()
onMessage
public boolean onMessage(org.springframework.integration.Message<?> message)
- Description copied from interface:
TcpListener
- Called by a TCPConnection when a new message arrives.
- Specified by:
onMessage in interface TcpListener
- Parameters:
message - The message.
- Returns:
- true if the message was intercepted
isListening
public boolean isListening()
- Returns:
- true if the associated connection factory is listening.
setConnectionFactory
public void setConnectionFactory(AbstractConnectionFactory connectionFactory)
- Must be
AbstractClientConnectionFactory or AbstractServerConnectionFactory.
- Parameters:
connectionFactory - the Connection Factory
addNewConnection
public void addNewConnection(TcpConnection connection)
- Description copied from interface:
TcpSender
- When we are using sockets owned by a
TcpListener, this
method is called each time a new connection is made.
- Specified by:
addNewConnection in interface TcpSender
- Parameters:
connection - The connection.
removeDeadConnection
public void removeDeadConnection(TcpConnection connection)
- Description copied from interface:
TcpSender
- When we are using sockets owned by a
TcpListener, this
method is called each time a connection is closed.
- Specified by:
removeDeadConnection in interface TcpSender
- Parameters:
connection - The connection.
getComponentType
public java.lang.String getComponentType()
- Specified by:
getComponentType in interface org.springframework.integration.context.NamedComponent- Overrides:
getComponentType in class org.springframework.integration.gateway.MessagingGatewaySupport
onInit
protected void onInit()
throws java.lang.Exception
- Overrides:
onInit in class org.springframework.integration.gateway.MessagingGatewaySupport
- Throws:
java.lang.Exception
doStart
protected void doStart()
- Overrides:
doStart in class org.springframework.integration.gateway.MessagingGatewaySupport
doStop
protected void doStop()
- Overrides:
doStop in class org.springframework.integration.gateway.MessagingGatewaySupport
isClientMode
public boolean isClientMode()
- Specified by:
isClientMode in interface ClientModeCapable
- Returns:
- the isClientMode
setClientMode
public void setClientMode(boolean isClientMode)
- Parameters:
isClientMode - the isClientMode to set
getScheduler
protected org.springframework.scheduling.TaskScheduler getScheduler()
- Returns:
- the scheduler
setScheduler
public void setScheduler(org.springframework.scheduling.TaskScheduler scheduler)
- Parameters:
scheduler - the scheduler to set
getRetryInterval
public long getRetryInterval()
- Returns:
- the retryInterval
setRetryInterval
public void setRetryInterval(long retryInterval)
- Parameters:
retryInterval - the retryInterval to set
isClientModeConnected
public boolean isClientModeConnected()
- Specified by:
isClientModeConnected in interface ClientModeCapable
- Returns:
- true if the endpoint is running in
client mode.
retryConnection
public void retryConnection()
- Description copied from interface:
ClientModeCapable
- Immediately attempt to establish the connection.
- Specified by:
retryConnection in interface ClientModeCapable