クラス EmbeddedHeadersJsonMessageMapper
java.lang.ObjectSE
org.springframework.integration.support.json.EmbeddedHeadersJsonMessageMapper
- 実装済みのインターフェース一覧:
BytesMessageMapper, InboundMessageMapper<byte[]>, OutboundMessageMapper<byte[]>
送信メッセージの場合、メッセージ認識型の Jackson JSON マッパーを使用してメッセージを JSON としてレンダリングします。ペイロードが
byte[] のメッセージの場合、JSON としてレンダリングされると、Jackson はバイト列に対して Base64 変換を実行します。ペイロードが byte[] で、rawBytes プロパティが true(デフォルト)の場合、結果は [headersLen][headers][payloadLen][payload] の形式になり、ヘッダーは JSON でレンダリングされ、ペイロードは変更されません。それ以外の場合は、メッセージは Jackson JSON マッパーを使用して完全に直列化および逆直列化されます。 デフォルトでは、標準の MessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE ヘッダー以外のヘッダーは埋め込みません。受信側で復元するために、これらのヘッダーが存在する場合は必ず埋め込みます。埋め込む追加ヘッダーを指定するための簡単なパターンを提供します。
予想される形式が検出されず、変換中にエラーも発生しない場合は、メッセージのペイロードは元の byte[] になります。
IMPORTANT
デフォルトの JSON マッパーは、特定のパッケージ内のクラスのみをデ直列化します。
"java.util",
"java.lang",
"org.springframework.messaging.support",
"org.springframework.integration.support",
"org.springframework.integration.message",
"org.springframework.integration.store",
"org.springframework.integration.history",
"org.springframework.integration.handler"
さらにパッケージを追加するには、JacksonMessagingUtils.messagingAwareMapper(String...) を使用して JSON マッパーを作成します。
このように構成された JSON マッパーの提供を可能にするコンストラクターが提供されます。
- 導入:
- 7.0
- 作成者:
- Jooyoung Pyoung, Glenn Renfro
フィールド概要
フィールドコンストラクター概要
コンストラクターコンストラクター説明標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE以外のヘッダーを埋め込まないインスタンスを構築し、デフォルトの JSON オブジェクトマッパーを使用します。EmbeddedHeadersJsonMessageMapper(StringSE... headerPatterns) 指定されたパターンに一致するヘッダーを埋め込むインスタンスを構築します。デフォルトの JSON オブジェクトマッパーを使用します。EmbeddedHeadersJsonMessageMapper(tools.jackson.databind.json.JsonMapper jsonMapper) 標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE以外のヘッダーを埋め込まないインスタンスを構築します。提供されている JSON オブジェクトマッパーを使用します。EmbeddedHeadersJsonMessageMapper(tools.jackson.databind.json.JsonMapper jsonMapper, StringSE... headerPatterns) 指定されたパターンに一致するヘッダーを埋め込むインスタンスを構築します。指定された JSON オブジェクトマッパーを使用してください。方法の概要
修飾子と型メソッド説明byte[]fromMessage(Message<?> message) voidsetCaseSensitive(boolean caseSensitive) ヘッダー名パターンの一致で大文字と小文字を区別するには、true に設定します。voidsetRawBytes(boolean rawBytes) byte[]ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。Message<?> 提供されたオブジェクトをMessageに変換し、必要に応じて提供されたヘッダーを提供します。クラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース BytesMessageMapper から継承されたメソッド
toMessage
フィールドの詳細
logger
protected final org.apache.commons.logging.Log logger
コンストラクターの詳細
EmbeddedHeadersJsonMessageMapper
public EmbeddedHeadersJsonMessageMapper()標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE以外のヘッダーを埋め込まないインスタンスを構築し、デフォルトの JSON オブジェクトマッパーを使用します。EmbeddedHeadersJsonMessageMapper
指定されたパターンに一致するヘッダーを埋め込むインスタンスを構築します。デフォルトの JSON オブジェクトマッパーを使用します。指定されたパターンに関係なく、標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPEヘッダー(存在する場合)は常に埋め込みます。- パラメーター:
headerPatterns- パターン。- 関連事項:
EmbeddedHeadersJsonMessageMapper
public EmbeddedHeadersJsonMessageMapper(tools.jackson.databind.json.JsonMapper jsonMapper) 標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE以外のヘッダーを埋め込まないインスタンスを構築します。提供されている JSON オブジェクトマッパーを使用します。- パラメーター:
jsonMapper- JSON マッパー。
EmbeddedHeadersJsonMessageMapper
public EmbeddedHeadersJsonMessageMapper(tools.jackson.databind.json.JsonMapper jsonMapper, StringSE... headerPatterns) 指定されたパターンに一致するヘッダーを埋め込むインスタンスを構築します。指定された JSON オブジェクトマッパーを使用します。指定されたパターンに関係なく、標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPEヘッダー (存在する場合) は常に埋め込みます。- パラメーター:
jsonMapper- JSON マッパー。headerPatterns- パターン。
方法の詳細
setRawBytes
public void setRawBytes(boolean rawBytes) byte[]ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。このプロパティが true (デフォルト) の場合、結果は[headersLen][headers][payloadLen][payload]の形式になり、ヘッダーは JSON でレンダリングされ、ペイロードは変更されません。バイトを base64 としてレンダリングするには、falseに設定します。- パラメーター:
rawBytes- base64 としてエンコードする場合は false。
setCaseSensitive
public void setCaseSensitive(boolean caseSensitive) ヘッダー名パターンの大文字と小文字を区別して一致させるには、true に設定します。デフォルトは false です。- パラメーター:
caseSensitive- 大文字と小文字を区別する場合は true です。
getHeaderPatterns
fromMessage
- 次で指定:
- インターフェース
BytesMessageMapper内のfromMessage - 次で指定:
- インターフェース
OutboundMessageMapper<byte[]>内のfromMessage
toMessage
インターフェースからコピーされた説明:InboundMessageMapper提供されたオブジェクトをMessageに変換し、必要に応じて提供されたヘッダーを提供します。- 次で指定:
- インターフェース
BytesMessageMapper内のtoMessage - 次で指定:
- インターフェース
InboundMessageMapper<byte[]>内のtoMessage - パラメーター:
bytes- メッセージペイロードまたはその他の変換ロジックのオブジェクトheaders- メッセージを作成するための追加ヘッダー。null にすることができます- 戻り値:
- マッピングの結果としてのメッセージ