org.springframework.integration.ip.udp
Class MulticastSendingMessageHandler

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.handler.AbstractMessageHandler
          extended by org.springframework.integration.ip.AbstractInternetProtocolSendingMessageHandler
              extended by org.springframework.integration.ip.udp.UnicastSendingMessageHandler
                  extended by 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

Field Summary
protected  java.lang.String localAddress
           
protected  int timeToLive
           
 
Fields inherited from class org.springframework.integration.ip.udp.UnicastSendingMessageHandler
ackControl, ackCounter, acknowledge, ackPort, ackTimeout, fatalException, mapper, socket, soReceiveBufferSize, taskExecutor, waitForAck
 
Fields inherited from class org.springframework.integration.ip.AbstractInternetProtocolSendingMessageHandler
destinationAddress, host, logger, port, soSendBufferSize, soTimeout
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
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.ip.AbstractInternetProtocolSendingMessageHandler
getPort, 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
 

Field Detail

timeToLive

protected int timeToLive

localAddress

protected java.lang.String localAddress
Constructor Detail

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.
Method Detail

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