public class TcpMessageMapper extends java.lang.Object implements InboundMessageMapper<TcpConnection>, OutboundMessageMapper<java.lang.Object>, org.springframework.beans.factory.BeanFactoryAware
TcpConnection
to a Message
.
If StringToBytes is true (default),
payloads of type String are converted to a byte[] using the supplied
charset (UTF-8 by default).
Inbound messages include headers representing the remote end of the
connection as well as a connection id that can be used by a TcpSender
to correlate which connection to send a reply. If applySequence is set, adds
standard correlationId/sequenceNumber headers allowing for downstream (unbounded)
resequencing.
*Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
logger |
Constructor and Description |
---|
TcpMessageMapper() |
Modifier and Type | Method and Description |
---|---|
protected void |
addCustomHeaders(TcpConnection connection,
AbstractIntegrationMessageBuilder<?> messageBuilder) |
protected void |
addStandardHeaders(TcpConnection connection,
AbstractIntegrationMessageBuilder<?> messageBuilder) |
java.lang.Object |
fromMessage(org.springframework.messaging.Message<?> message) |
protected MessageBuilderFactory |
getMessageBuilderFactory() |
void |
setAddContentTypeHeader(boolean addContentTypeHeader)
Set to true to add a content type header; default false.
|
void |
setApplySequence(boolean applySequence) |
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) |
void |
setCharset(java.lang.String charset)
Set the charset to use when converting outbound String messages to
byte[] . |
void |
setContentType(java.lang.String contentType)
Set the content type header value to add to inbound messages when
addContentTypeHeader is true. |
void |
setStringToBytes(boolean stringToBytes)
Sets whether outbound String payloads are to be converted
to byte[].
|
protected java.util.Map<java.lang.String,?> |
supplyCustomHeaders(TcpConnection connection)
Override to provide additional headers.
|
org.springframework.messaging.Message<?> |
toMessage(TcpConnection connection) |
public void setCharset(java.lang.String charset)
byte[]
.charset
- the charset to setpublic void setStringToBytes(boolean stringToBytes)
stringToBytes
- The stringToBytes to set.public void setApplySequence(boolean applySequence)
applySequence
- The applySequence to set.public void setContentType(java.lang.String contentType)
addContentTypeHeader
is true.
Default application/octet-stream;charset=UTF-8
. This default is not
modified by setCharset(String)
.contentType
- the content type header value to set.setAddContentTypeHeader(boolean)
,
setCharset(String)
public void setAddContentTypeHeader(boolean addContentTypeHeader)
addContentTypeHeader
- true to add a content type header.setContentType(String)
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
setBeanFactory
in interface org.springframework.beans.factory.BeanFactoryAware
org.springframework.beans.BeansException
protected MessageBuilderFactory getMessageBuilderFactory()
public org.springframework.messaging.Message<?> toMessage(TcpConnection connection) throws java.lang.Exception
toMessage
in interface InboundMessageMapper<TcpConnection>
java.lang.Exception
protected final void addStandardHeaders(TcpConnection connection, AbstractIntegrationMessageBuilder<?> messageBuilder)
protected final void addCustomHeaders(TcpConnection connection, AbstractIntegrationMessageBuilder<?> messageBuilder)
protected java.util.Map<java.lang.String,?> supplyCustomHeaders(TcpConnection connection)
connection
- the connection.<String, ?>
headers to be added to the message.public java.lang.Object fromMessage(org.springframework.messaging.Message<?> message) throws java.lang.Exception
fromMessage
in interface OutboundMessageMapper<java.lang.Object>
java.lang.Exception