public class TcpMessageMapper extends ObjectSE implements InboundMessageMapper<TcpConnection>, OutboundMessageMapper<ObjectSE>, BeanFactoryAware
TcpConnection
から Message
にマップします。StringToBytes が true (デフォルト) の場合、String 型のペイロードは、指定された文字セット (デフォルトでは UTF-8) を使用して byte[] に変換されます。受信メッセージには、接続の リモート側を表すヘッダーと、応答を送信する接続を関連付けるために TcpSender
が使用できる接続 ID が含まれます。applySequence が設定されている場合は、標準の correlationId/sequenceNumber ヘッダーが追加され、下流 (無制限) の再シーケンスが可能になります。*コンストラクターと説明 |
---|
TcpMessageMapper() |
修飾子と型 | メソッドと説明 |
---|---|
protected void | addCustomHeaders(TcpConnection connection, MessageHeaders messageHeaders) |
protected void | addStandardHeaders(TcpConnection connection, MessageHeaders messageHeaders) |
ObjectSE | fromMessage(Message<?> message) |
protected MessageBuilderFactory | getMessageBuilderFactory() |
void | setAddContentTypeHeader(boolean addContentTypeHeader) コンテンツ型ヘッダーを追加するには、true に設定します。デフォルトは false です。 |
void | setApplySequence(boolean applySequence) |
void | setBeanFactory(BeanFactory beanFactory) |
void | setBytesMessageMapper(BytesMessageMapper bytesMessageMapper) byte[] をマッピングするときに使用する BytesMessageMapper を設定します。 |
void | setCharset(StringSE charset) 送信文字列メッセージを byte[] に変換するときに使用する文字セットを設定します。 |
void | setContentType(StringSE contentType) addContentTypeHeader が true の場合に受信メッセージに追加するコンテンツ型ヘッダー値を設定します。 |
void | setStringToBytes(boolean stringToBytes) 送信文字列ペイロードを byte[] に変換するかどうかを設定します。 |
protected MapSE<StringSE,?> | supplyCustomHeaders(TcpConnection connection) 追加のヘッダーを提供するためにオーバーライドします。 |
Message<?> | toMessage(TcpConnection connection, MapSE<StringSE, ObjectSE> headers) 提供されたオブジェクトを Message に変換し、必要に応じて提供されたヘッダーを提供します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
toMessage
protected final Log logger
public void setCharset(StringSE charset)
byte[]
に変換するときに使用する文字セットを設定します。charset
- 設定する文字セット public void setStringToBytes(boolean stringToBytes)
BytesMessageMapper
が提供されている場合は無視されます。stringToBytes
- 設定する stringToBytes。setBytesMessageMapper(BytesMessageMapper)
public void setApplySequence(boolean applySequence)
applySequence
- 設定する applySequence。public void setContentType(StringSE contentType)
addContentTypeHeader
が true の場合に受信メッセージに追加するコンテンツ型ヘッダー値を設定します。デフォルトの application/octet-stream;charset=UTF-8
. このデフォルトは setCharset(String)
によって変更されません。contentType
- 設定するコンテンツ型ヘッダー値。setAddContentTypeHeader(boolean)
, setCharset(String)
public void setAddContentTypeHeader(boolean addContentTypeHeader)
addContentTypeHeader
- true を指定すると、コンテンツ型ヘッダーが追加されます。setContentType(String)
public void setBeanFactory(BeanFactory beanFactory) throws BeansException
BeanFactoryAware
の setBeanFactory
BeansException
public void setBytesMessageMapper(BytesMessageMapper bytesMessageMapper)
BytesMessageMapper
を設定します。BytesMessageMapper
が提供されている場合、setStringToBytes(boolean)
は無視されます。bytesMessageMapper
- マッパー。setStringToBytes(boolean)
protected MessageBuilderFactory getMessageBuilderFactory()
public Message<?> toMessage(TcpConnection connection, @Nullable MapSE<StringSE,ObjectSE> headers)
InboundMessageMapper
Message
に変換し、必要に応じて提供されたヘッダーを提供します。InboundMessageMapper<TcpConnection>
の toMessage
connection
- メッセージペイロードまたはその他の変換ロジックのオブジェクト headers
- メッセージを作成するための追加ヘッダー。null にすることができます protected final void addStandardHeaders(TcpConnection connection, MessageHeaders messageHeaders)
protected final void addCustomHeaders(TcpConnection connection, MessageHeaders messageHeaders)
@Nullable protected MapSE<StringSE,?> supplyCustomHeaders(TcpConnection connection)
connection
- 接続。<String, ?>
ヘッダーのマップ。public ObjectSE fromMessage(Message<?> message)
OutboundMessageMapper<ObjectSE>
の fromMessage