org.springframework.integration.ip.udp
Class UnicastReceivingChannelAdapter
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.ip.AbstractInternetProtocolReceivingChannelAdapter
org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter
- All Implemented Interfaces:
- java.lang.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
Method Summary |
protected boolean |
asyncSendMessage(java.net.DatagramPacket packet)
|
protected void |
doStop()
Subclasses must implement this method with the stop behavior. |
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information. |
protected java.net.DatagramSocket |
getSocket()
|
protected java.net.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 java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
socket
protected volatile java.net.DatagramSocket socket
mapper
protected final DatagramPacketMessageMapper mapper
soSendBufferSize
protected volatile int soSendBufferSize
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.
run
public void run()
sendAck
protected void sendAck(Message<byte[]> message)
asyncSendMessage
protected boolean asyncSendMessage(java.net.DatagramPacket packet)
receive
protected java.net.DatagramPacket receive()
throws java.lang.Exception
- Throws:
java.lang.Exception
getSocket
protected java.net.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)
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