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.DatagramPacketfromMessage(org.springframework.messaging.Message<?> message)Raw byte[] from message, possibly with a length field up front.protected org.springframework.integration.support.MessageBuilderFactorygetMessageBuilderFactory()voidsetAckAddress(java.lang.String ackAddress)voidsetAcknowledge(boolean acknowledge)voidsetBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)voidsetCharset(java.lang.String charset)voidsetLengthCheck(boolean lengthCheck)voidsetLookupHost(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)
-
Constructor Details
-
DatagramPacketMessageMapper
public DatagramPacketMessageMapper()
-
-
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:
setBeanFactoryin interfaceorg.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:
fromMessagein interfaceorg.springframework.integration.mapping.OutboundMessageMapper<java.net.DatagramPacket>
-
toMessage
@Nullable public org.springframework.messaging.Message<byte[]> toMessage(java.net.DatagramPacket object)- Specified by:
toMessagein interfaceorg.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:
toMessagein interfaceorg.springframework.integration.mapping.InboundMessageMapper<java.net.DatagramPacket>
-