org.springframework.integration.ip.udp
Class MulticastSendingMessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.ip.AbstractInternetProtocolSendingMessageHandler
org.springframework.integration.ip.udp.UnicastSendingMessageHandler
org.springframework.integration.ip.udp.MulticastSendingMessageHandler
- All Implemented Interfaces:
- java.lang.Runnable, BeanFactoryAware, BeanNameAware, InitializingBean, Ordered, NamedComponent, Orderable, MessageHandler, TrackableComponent, CommonSocketOptions
public class MulticastSendingMessageHandler
- extends UnicastSendingMessageHandler
A MessageHandler
implementation that maps a Message into
a UDP datagram packet and sends that to the specified multicast address
(224.0.0.0 to 239.255.255.255) and port.
The only difference between this and its super class is the
ability to specify how many acknowledgments are required to
determine success.
- Since:
- 2.0
Fields inherited from class org.springframework.integration.ip.udp.UnicastSendingMessageHandler |
ackControl, ackCounter, acknowledge, ackPort, ackTimeout, fatalException, mapper, socket, soReceiveBufferSize, taskExecutor, waitForAck |
Constructor Summary |
MulticastSendingMessageHandler(java.lang.String address,
int port)
Constructs a MulticastSendingMessageHandler to send data to the multicast address/port. |
MulticastSendingMessageHandler(java.lang.String address,
int port,
boolean lengthCheck)
Constructs a MulticastSendingMessageHandler to send data to the multicast address/port
and enables setting the lengthCheck option (if set, a length is prepended to the packet and checked
at the destination). |
MulticastSendingMessageHandler(java.lang.String address,
int port,
boolean lengthCheck,
boolean acknowledge,
java.lang.String ackHost,
int ackPort,
int ackTimeout)
Constructs a MulticastSendingMessageHandler to send data to the multicast address/port
and enables setting the acknowledge option, where the destination sends a receipt acknowledgment. |
MulticastSendingMessageHandler(java.lang.String address,
int port,
boolean acknowledge,
java.lang.String ackHost,
int ackPort,
int ackTimeout)
Constructs a MulticastSendingMessageHandler to send data to the multicast address/port
and enables setting the acknowledge option, where the destination sends a receipt acknowledgment. |
Method Summary |
protected java.net.DatagramSocket |
getSocket()
|
void |
setLocalAddress(java.lang.String localAddress)
On a multi-homed system, specifies the ip address of the network interface used to communicate. |
void |
setMinAcksForSuccess(int minAcksForSuccess)
If acknowledge = true; how many acks needed for success. |
void |
setTimeToLive(int timeToLive)
Set the underlying MulticastSocket time to live property. |
Methods inherited from class org.springframework.integration.ip.udp.UnicastSendingMessageHandler |
getComponentType, handleMessageInternal, onInit, restartAckThread, run, send, setReliabilityAttributes, setSocketAttributes, setSoReceiveBufferSize, setTaskExecutor, shutDown |
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 |
timeToLive
protected int timeToLive
localAddress
protected java.lang.String localAddress
MulticastSendingMessageHandler
public MulticastSendingMessageHandler(java.lang.String address,
int port)
- Constructs a MulticastSendingMessageHandler to send data to the multicast address/port.
- Parameters:
address
- The multicast address.port
- The port.
MulticastSendingMessageHandler
public MulticastSendingMessageHandler(java.lang.String address,
int port,
boolean lengthCheck)
- Constructs a MulticastSendingMessageHandler to send data to the multicast address/port
and enables setting the lengthCheck option (if set, a length is prepended to the packet and checked
at the destination).
- Parameters:
address
- The multicast address.port
- The port.lengthCheck
- Enable the lengthCheck option.
MulticastSendingMessageHandler
public MulticastSendingMessageHandler(java.lang.String address,
int port,
boolean acknowledge,
java.lang.String ackHost,
int ackPort,
int ackTimeout)
- Constructs a MulticastSendingMessageHandler to send data to the multicast address/port
and enables setting the acknowledge option, where the destination sends a receipt acknowledgment.
- Parameters:
address
- The multicast address.port
- The port.acknowledge
- Whether or not acknowledgments are required.ackHost
- The host to which acknowledgments should be sent; required if acknowledge is true.ackPort
- The port to which acknowledgments should be sent; required if acknowledge is true.ackTimeout
- How long to wait (milliseconds) for an acknowledgment.
MulticastSendingMessageHandler
public MulticastSendingMessageHandler(java.lang.String address,
int port,
boolean lengthCheck,
boolean acknowledge,
java.lang.String ackHost,
int ackPort,
int ackTimeout)
- Constructs a MulticastSendingMessageHandler to send data to the multicast address/port
and enables setting the acknowledge option, where the destination sends a receipt acknowledgment.
- Parameters:
address
- The multicast address.port
- The port.lengthCheck
- Enable the lengthCheck option.acknowledge
- Whether or not acknowledgments are required.ackHost
- The host to which acknowledgments should be sent; required if acknowledge is true.ackPort
- The port to which acknowledgments should be sent; required if acknowledge is true.ackTimeout
- How long to wait (milliseconds) for an acknowledgment.
getSocket
protected java.net.DatagramSocket getSocket()
throws java.io.IOException
- Overrides:
getSocket
in class UnicastSendingMessageHandler
- Throws:
java.io.IOException
setMinAcksForSuccess
public void setMinAcksForSuccess(int minAcksForSuccess)
- If acknowledge = true; how many acks needed for success.
- Parameters:
minAcksForSuccess
-
setTimeToLive
public void setTimeToLive(int timeToLive)
- Set the underlying
MulticastSocket
time to live property.
- Parameters:
timeToLive
- MulticastSocket.setTimeToLive(int)
setLocalAddress
public void setLocalAddress(java.lang.String localAddress)
- Description copied from interface:
CommonSocketOptions
- On a multi-homed system, specifies the ip address of the network interface used to communicate.
For inbound adapters and gateways, specifies the interface used to listed for incoming connections.
If omitted, the endpoint will listen on all available adapters. For the UDP multicast outbound adapter
specifies the interface to which multicast packets will be sent. For UDP unicast and multicast
adapters, specifies which interface to which the acknowledgment socket will be bound. Does not
apply to TCP outbound adapters and gateways.
- Specified by:
setLocalAddress
in interface CommonSocketOptions
- Overrides:
setLocalAddress
in class UnicastSendingMessageHandler