Spring Integration

org.springframework.integration.ip.tcp
Class TcpReceivingChannelAdapter

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.endpoint.AbstractEndpoint
          extended by org.springframework.integration.endpoint.MessageProducerSupport
              extended by org.springframework.integration.ip.tcp.TcpReceivingChannelAdapter
All Implemented Interfaces:
org.springframework.beans.factory.Aware, 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, NamedComponent, OrderlyShutdownCapable, MessageProducer, TrackableComponent, ClientModeCapable, TcpListener

public class TcpReceivingChannelAdapter
extends MessageProducerSupport
implements TcpListener, ClientModeCapable, OrderlyShutdownCapable

Tcp inbound channel adapter using a TcpConnection to receive data - if the connection factory is a server factory, this Listener owns the connections. If it is a client factory, the sender owns the connection.

Since:
2.0
Author:
Gary Russell

Field Summary
 
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
logger
 
Constructor Summary
TcpReceivingChannelAdapter()
           
 
Method Summary
 int afterShutdown()
          Called after normal shutdown of schedulers, executors etc, and after the shutdown delay has elapsed, but before any forced shutdown of any remaining active scheduler/executor threads.Can optionally return the number of active messages still in process.
 int beforeShutdown()
          Called before shutdown begins.
protected  void doStart()
          Takes no action by default.
protected  void doStop()
          Takes no action by default.
protected  ConnectionFactory getClientConnectionFactory()
           
 java.lang.String getComponentType()
          Subclasses may implement this method to provide component type information.
 long getRetryInterval()
           
protected  ConnectionFactory getServerConnectionFactory()
           
 boolean isClientMode()
           
 boolean isClientModeConnected()
           
 boolean isListening()
           
protected  void onInit()
          Subclasses may implement this for initialization logic.
 boolean onMessage(Message<?> message)
          Called by a TCPConnection when a new message arrives.
 void retryConnection()
          Immediately attempt to establish the connection.
 void setClientMode(boolean isClientMode)
           
 void setConnectionFactory(AbstractConnectionFactory connectionFactory)
          Sets the client or server connection factory; for this (an inbound adapter), if the factory is a client connection factory, the sockets are owned by a sending channel adapter and this adapter is used to receive replies.
 void setRetryInterval(long retryInterval)
           
 void setScheduler(org.springframework.scheduling.TaskScheduler scheduler)
          Deprecated. Use AbstractEndpoint.setTaskScheduler(TaskScheduler)
 
Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupport
sendMessage, setErrorChannel, setOutputChannel, setSendTimeout, 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
 

Constructor Detail

TcpReceivingChannelAdapter

public TcpReceivingChannelAdapter()
Method Detail

onMessage

public boolean onMessage(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

onInit

protected void onInit()
Description copied from class: IntegrationObjectSupport
Subclasses may implement this for initialization logic.

Overrides:
onInit in class MessageProducerSupport

doStart

protected void doStart()
Description copied from class: MessageProducerSupport
Takes no action by default. Subclasses may override this if they need lifecycle-managed behavior.

Overrides:
doStart in class MessageProducerSupport

doStop

protected void doStop()
Description copied from class: MessageProducerSupport
Takes no action by default. Subclasses may override this if they need lifecycle-managed behavior.

Overrides:
doStop in class MessageProducerSupport

setConnectionFactory

public void setConnectionFactory(AbstractConnectionFactory connectionFactory)
Sets the client or server connection factory; for this (an inbound adapter), if the factory is a client connection factory, the sockets are owned by a sending channel adapter and this adapter is used to receive replies.

Parameters:
connectionFactory - the connectionFactory to set

isListening

public boolean isListening()

getComponentType

public java.lang.String getComponentType()
Description copied from class: IntegrationObjectSupport
Subclasses may implement this method to provide component type information.

Specified by:
getComponentType in interface NamedComponent
Overrides:
getComponentType in class IntegrationObjectSupport

getClientConnectionFactory

protected ConnectionFactory getClientConnectionFactory()
Returns:
the clientConnectionFactory

getServerConnectionFactory

protected ConnectionFactory getServerConnectionFactory()
Returns:
the serverConnectionFactory

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

setScheduler

@Deprecated
public void setScheduler(org.springframework.scheduling.TaskScheduler scheduler)
Deprecated. Use AbstractEndpoint.setTaskScheduler(TaskScheduler)

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

beforeShutdown

public int beforeShutdown()
Description copied from interface: OrderlyShutdownCapable
Called before shutdown begins. Implementations should stop accepting new messages. Can optionally return the number of active messages in process.

Specified by:
beforeShutdown in interface OrderlyShutdownCapable
Returns:
The number of active messages if available.

afterShutdown

public int afterShutdown()
Description copied from interface: OrderlyShutdownCapable
Called after normal shutdown of schedulers, executors etc, and after the shutdown delay has elapsed, but before any forced shutdown of any remaining active scheduler/executor threads.Can optionally return the number of active messages still in process.

Specified by:
afterShutdown in interface OrderlyShutdownCapable
Returns:
The number of active messages if available.

Spring Integration