Class DatagramPacketMessageMapper

java.lang.Object
org.springframework.integration.ip.udp.DatagramPacketMessageMapper
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.integration.mapping.InboundMessageMapper<DatagramPacket>, org.springframework.integration.mapping.OutboundMessageMapper<DatagramPacket>

public class DatagramPacketMessageMapper extends Object implements org.springframework.integration.mapping.InboundMessageMapper<DatagramPacket>, org.springframework.integration.mapping.OutboundMessageMapper<DatagramPacket>, org.springframework.beans.factory.BeanFactoryAware
Message Mapper for converting to and from UDP DatagramPackets. When converting to a Message, the payload will be a byte array containing the data from the received packet. When converting from a Message, the payload may be either a byte array or a String. The default charset for converting a String to a byte array is UTF-8, but that may be changed by invoking the setCharset(String) method. By default, the UDP messages will be unreliable (truncation may occur on the receiving end; packets may be lost). Reliability can be enhanced by one or both of the following techniques:
  • including a binary message length at the beginning of the packet
  • requesting a receipt acknowledgment
Since:
2.0
  • Constructor Details

    • DatagramPacketMessageMapper

      public DatagramPacketMessageMapper()
  • Method Details

    • setCharset

      public void setCharset(String charset)
    • setAcknowledge

      public void setAcknowledge(boolean acknowledge)
    • setAckAddress

      public void setAckAddress(String ackAddress)
    • setLengthCheck

      public void setLengthCheck(boolean lengthCheck)
    • setLookupHost

      public void setLookupHost(boolean lookupHost)
      If true, DNS reverse lookup is done on the remote ip address. Default false: not all environments (e.g. Docker containers) perform reliable DNS resolution.
      Parameters:
      lookupHost - the lookupHost to set
    • setBeanFactory

      public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
      Specified by:
      setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
      Throws:
      org.springframework.beans.BeansException
    • getMessageBuilderFactory

      protected org.springframework.integration.support.MessageBuilderFactory getMessageBuilderFactory()
    • fromMessage

      public DatagramPacket fromMessage(org.springframework.messaging.Message<?> message)
      Raw byte[] from message, possibly with a length field up front.
      Specified by:
      fromMessage in interface org.springframework.integration.mapping.OutboundMessageMapper<DatagramPacket>
    • toMessage

      @Nullable public org.springframework.messaging.Message<byte[]> toMessage(DatagramPacket object)
      Specified by:
      toMessage in interface org.springframework.integration.mapping.InboundMessageMapper<DatagramPacket>
    • toMessage

      @Nullable public org.springframework.messaging.Message<byte[]> toMessage(DatagramPacket packet, @Nullable Map<String,Object> headers)
      Specified by:
      toMessage in interface org.springframework.integration.mapping.InboundMessageMapper<DatagramPacket>