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<java.net.DatagramPacket>, org.springframework.integration.mapping.OutboundMessageMapper<java.net.DatagramPacket>

public class DatagramPacketMessageMapper
extends java.lang.Object
implements org.springframework.integration.mapping.InboundMessageMapper<java.net.DatagramPacket>, org.springframework.integration.mapping.OutboundMessageMapper<java.net.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 Summary

    Constructors 
    Constructor Description
    DatagramPacketMessageMapper()  
  • Method Summary

    Modifier and Type Method Description
    java.net.DatagramPacket fromMessage​(org.springframework.messaging.Message<?> message)
    Raw byte[] from message, possibly with a length field up front.
    protected org.springframework.integration.support.MessageBuilderFactory getMessageBuilderFactory()  
    void setAckAddress​(java.lang.String ackAddress)  
    void setAcknowledge​(boolean acknowledge)  
    void setBeanFactory​(org.springframework.beans.factory.BeanFactory beanFactory)  
    void setCharset​(java.lang.String charset)  
    void setLengthCheck​(boolean lengthCheck)  
    void setLookupHost​(boolean lookupHost)  
    org.springframework.messaging.Message<byte[]> toMessage​(java.net.DatagramPacket object)  
    org.springframework.messaging.Message<byte[]> toMessage​(java.net.DatagramPacket packet, java.util.Map<java.lang.String,​java.lang.Object> headers)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • setCharset

      public void setCharset​(java.lang.String charset)
    • setAcknowledge

      public void setAcknowledge​(boolean acknowledge)
    • setAckAddress

      public void setAckAddress​(java.lang.String ackAddress)
    • setLengthCheck

      public void setLengthCheck​(boolean lengthCheck)
    • setLookupHost

      public void setLookupHost​(boolean lookupHost)
      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 java.net.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<java.net.DatagramPacket>
    • toMessage

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

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