|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.integration.context.IntegrationObjectSupport org.springframework.integration.handler.AbstractMessageHandler org.springframework.integration.ip.AbstractInternetProtocolSendingMessageHandler org.springframework.integration.ip.udp.UnicastSendingMessageHandler
public class UnicastSendingMessageHandler
A MessageHandler
implementation that maps a Message into
a UDP datagram packet and sends that to the specified host and port.
Messages can be basic, with no support for reliability, can be prefixed
by a length so the receiving end can detect truncation, and can require
a UDP acknowledgment to confirm delivery.
Field Summary |
---|
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
logger |
Fields inherited from interface org.springframework.core.Ordered |
---|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Constructor Summary | |
---|---|
UnicastSendingMessageHandler(java.lang.String host,
int port)
Basic constructor; no reliability; no acknowledgment. |
|
UnicastSendingMessageHandler(java.lang.String host,
int port,
boolean lengthCheck)
Can used to add a length to each packet which can be checked at the destination. |
|
UnicastSendingMessageHandler(java.lang.String host,
int port,
boolean lengthCheck,
boolean acknowledge,
java.lang.String ackHost,
int ackPort,
int ackTimeout)
Add a length and/or acknowledgment request to packets. |
|
UnicastSendingMessageHandler(java.lang.String host,
int port,
boolean acknowledge,
java.lang.String ackHost,
int ackPort,
int ackTimeout)
Add an acknowledgment request to packets. |
Method Summary | |
---|---|
int |
getAckPort()
|
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information. |
protected java.net.DatagramSocket |
getSocket()
|
int |
getSoReceiveBufferSize()
|
protected java.net.DatagramSocket |
getTheSocket()
|
void |
handleMessageInternal(Message<?> message)
|
boolean |
isAcknowledge()
|
void |
onInit()
Subclasses may implement this for initialization logic. |
void |
restartAckThread()
If exposed as an MBean, can be used to restart the ack thread if a fatal (bind) error occurred, without bouncing the JVM. |
void |
run()
Process acknowledgments, if requested. |
protected void |
send(java.net.DatagramPacket packet)
|
void |
setAckCounter(int ackCounter)
|
void |
setLocalAddress(java.lang.String localAddress)
On a multi-homed system, specifies the ip address of the network interface used to communicate. |
protected void |
setReliabilityAttributes(boolean lengthCheck,
boolean acknowledge,
java.lang.String ackHost,
int ackPort,
int ackTimeout)
|
protected void |
setSocket(java.net.DatagramSocket socket)
|
protected void |
setSocketAttributes(java.net.DatagramSocket socket)
|
void |
setSoReceiveBufferSize(int size)
|
void |
setTaskExecutor(java.util.concurrent.Executor taskExecutor)
|
void |
shutDown()
|
Methods inherited from class org.springframework.integration.ip.AbstractInternetProtocolSendingMessageHandler |
---|
getDestinationAddress, getHost, getPort, getSoSendBufferSize, getSoTimeout, setSoSendBufferSize, setSoTimeout |
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler |
---|
getOrder, handleMessage, setOrder, setShouldTrack |
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, 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 |
---|
public UnicastSendingMessageHandler(java.lang.String host, int port)
host
- Destination host.port
- Destination port.public UnicastSendingMessageHandler(java.lang.String host, int port, boolean lengthCheck)
host
- Destination Host.port
- Destination Port.lengthCheck
- If true, packets will contain a length.public UnicastSendingMessageHandler(java.lang.String host, int port, boolean acknowledge, java.lang.String ackHost, int ackPort, int ackTimeout)
host
- Destination Host.port
- Destination Port.acknowledge
- If true, packets will request acknowledgment.ackHost
- The host to which acks should be sent. Required if ack true.ackPort
- The port to which acks should be sent.ackTimeout
- How long we will wait (milliseconds) for the ack.public UnicastSendingMessageHandler(java.lang.String host, int port, boolean lengthCheck, boolean acknowledge, java.lang.String ackHost, int ackPort, int ackTimeout)
host
- Destination Host.port
- Destination Port.lengthCheck
- If true, packets will contain a length.acknowledge
- If true, packets will request acknowledgment.ackHost
- The host to which acks should be sent. Required if ack true.ackPort
- The port to which acks should be sent.ackTimeout
- How long we will wait (milliseconds) for the ack.Method Detail |
---|
protected final void setReliabilityAttributes(boolean lengthCheck, boolean acknowledge, java.lang.String ackHost, int ackPort, int ackTimeout)
public void onInit()
IntegrationObjectSupport
onInit
in class IntegrationObjectSupport
public void handleMessageInternal(Message<?> message) throws MessageRejectedException, MessageHandlingException, MessageDeliveryException
handleMessageInternal
in class AbstractMessageHandler
MessageRejectedException
MessageHandlingException
MessageDeliveryException
protected void send(java.net.DatagramPacket packet) throws java.lang.Exception
java.lang.Exception
protected void setSocket(java.net.DatagramSocket socket)
protected java.net.DatagramSocket getTheSocket()
protected java.net.DatagramSocket getSocket() throws java.io.IOException
java.io.IOException
protected void setSocketAttributes(java.net.DatagramSocket socket) throws java.net.SocketException
java.net.SocketException
public void run()
run
in interface java.lang.Runnable
public void restartAckThread()
public void shutDown()
public void setSoReceiveBufferSize(int size)
setSoReceiveBufferSize
in interface CommonSocketOptions
setSoReceiveBufferSize
in class AbstractInternetProtocolSendingMessageHandler
Socket.setReceiveBufferSize(int)
,
DatagramSocket.setReceiveBufferSize(int)
public void setLocalAddress(java.lang.String localAddress)
CommonSocketOptions
setLocalAddress
in interface CommonSocketOptions
public void setTaskExecutor(java.util.concurrent.Executor taskExecutor)
public void setAckCounter(int ackCounter)
ackCounter
- the ackCounter to setpublic java.lang.String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class AbstractMessageHandler
public boolean isAcknowledge()
public int getAckPort()
public int getSoReceiveBufferSize()
|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |