Spring Integration

org.springframework.integration.ip.udp
Class UnicastReceivingChannelAdapter

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.AbstractInternetProtocolReceivingChannelAdapter
                  extended by org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter
All Implemented Interfaces:
Runnable, BeanFactoryAware, BeanNameAware, InitializingBean, Lifecycle, Phased, SmartLifecycle, NamedComponent, MessageProducer, TrackableComponent, CommonSocketOptions
Direct Known Subclasses:
MulticastReceivingChannelAdapter

public class UnicastReceivingChannelAdapter
extends AbstractInternetProtocolReceivingChannelAdapter

A channel adapter to receive incoming UDP packets. Packets can optionally be preceded by a 4 byte length field, used to validate that all data was received. Packets may also contain information indicating an acknowledgment needs to be sent.

Since:
2.0
Author:
Gary Russell

Field Summary
protected  DatagramPacketMessageMapper mapper
           
protected  DatagramSocket socket
           
protected  int soSendBufferSize
           
 
Fields inherited from class org.springframework.integration.ip.AbstractInternetProtocolReceivingChannelAdapter
active, listening, localAddress, poolSize, port, receiveBufferSize, soReceiveBufferSize, soTimeout, taskExecutor
 
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
logger
 
Constructor Summary
UnicastReceivingChannelAdapter(int port)
          Constructs a UnicastReceivingChannelAdapter that listens on the specified port.
UnicastReceivingChannelAdapter(int port, boolean lengthCheck)
          Constructs a UnicastReceivingChannelAdapter that listens for packets on the specified port.
 
Method Summary
protected  boolean asyncSendMessage(DatagramPacket packet)
           
protected  void doStop()
          Subclasses must implement this method with the stop behavior.
protected  DatagramSocket getSocket()
           
protected  DatagramPacket receive()
           
 void run()
           
protected  void sendAck(Message<byte[]> message)
           
 void setSoSendBufferSize(int soSendBufferSize)
           
 
Methods inherited from class org.springframework.integration.ip.AbstractInternetProtocolReceivingChannelAdapter
checkTaskExecutor, doStart, getLocalAddress, getPort, isListening, setLocalAddress, setPoolSize, setReceiveBufferSize, setSoReceiveBufferSize, setSoTimeout, setTaskExecutor
 
Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupport
onInit, sendMessage, 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, getComponentType, getConversionService, getRequiredMetadataPersister, 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, getComponentType
 

Field Detail

socket

protected volatile DatagramSocket socket

mapper

protected final DatagramPacketMessageMapper mapper

soSendBufferSize

protected volatile int soSendBufferSize
Constructor Detail

UnicastReceivingChannelAdapter

public UnicastReceivingChannelAdapter(int port)
Constructs a UnicastReceivingChannelAdapter that listens on the specified port.

Parameters:
port -

UnicastReceivingChannelAdapter

public UnicastReceivingChannelAdapter(int port,
                                      boolean lengthCheck)
Constructs a UnicastReceivingChannelAdapter that listens for packets on the specified port. Enables setting the lengthCheck option, which expects a length to precede the incoming packets.

Parameters:
port - The port.
lengthCheck - If true, enables the lengthCheck Option.
Method Detail

run

public void run()

sendAck

protected void sendAck(Message<byte[]> message)

asyncSendMessage

protected boolean asyncSendMessage(DatagramPacket packet)

receive

protected DatagramPacket receive()
                          throws Exception
Throws:
Exception

getSocket

protected DatagramSocket getSocket()

doStop

protected void doStop()
Description copied from class: AbstractEndpoint
Subclasses must implement this method with the stop behavior. This method will be invoked while holding the AbstractEndpoint.lifecycleLock.

Overrides:
doStop in class AbstractInternetProtocolReceivingChannelAdapter

setSoSendBufferSize

public void setSoSendBufferSize(int soSendBufferSize)
Specified by:
setSoSendBufferSize in interface CommonSocketOptions
Overrides:
setSoSendBufferSize in class AbstractInternetProtocolReceivingChannelAdapter
See Also:
Socket.setSendBufferSize(int), DatagramSocket.setSendBufferSize(int)

Spring Integration

Copyright © 2010. All Rights Reserved.