クラス EmbeddedJsonHeadersMessageMapper
java.lang.ObjectSE
org.springframework.integration.support.json.EmbeddedJsonHeadersMessageMapper
- 実装済みのインターフェース一覧:
BytesMessageMapper, InboundMessageMapper<byte[]>, OutboundMessageMapper<byte[]>
@DeprecatedSE(since="7.0",
forRemoval=true)
public class EmbeddedJsonHeadersMessageMapper
extends ObjectSE
implements BytesMessageMapper
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
送信メッセージの場合、メッセージ対応の Jackson オブジェクトマッパーを使用してメッセージを JSON としてレンダリングします。
byte[] ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。ペイロードが byte[] で、rawBytes プロパティが true (デフォルト) の場合、結果は [headersLen][headers][payloadLen][payload] の形式になり、ヘッダーは JSON でレンダリングされ、ペイロードは変更されません。それ以外の場合、メッセージは Jackson オブジェクトマッパーで完全に直列化および逆直列化されます。 デフォルトでは、標準の MessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE ヘッダー以外のヘッダーは埋め込みません。受信側で復元するために、これらのヘッダーが存在する場合は必ず埋め込みます。埋め込む追加ヘッダーを指定するための簡単なパターンを提供します。
予想される形式が検出されず、変換中にエラーも発生しない場合は、メッセージのペイロードは元の byte[] になります。
IMPORTANT
デフォルトのオブジェクトマッパーは、特定のパッケージのクラスのみをデシリアライズします。
"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"
さらにパッケージを追加するには、JacksonJsonUtils.messagingAwareMapper(String...) を使用してオブジェクトマッパーを作成します。
このような構成されたオブジェクトマッパーの提供を可能にするコンストラクターが提供されます。
- 導入:
- 5.0
- 作成者:
- Gary Russell, Artem Bilan, Glenn Renfro
フィールド概要
フィールド修飾子と型フィールド説明protected final org.apache.commons.logging.Log非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。コンストラクター概要
コンストラクターコンストラクター説明非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE以外のヘッダーを埋め込まないインスタンスを構築し、デフォルトの JSON オブジェクトマッパーを使用します。EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE以外のヘッダーを埋め込まないインスタンスを構築します。提供されている JSON オブジェクトマッパーを使用します。EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper, StringSE... headerPatterns) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。Construct an instance that embeds headers matching the supplied patterns; use the supplied JSON object mapper.EmbeddedJsonHeadersMessageMapper(StringSE... headerPatterns) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。Construct an instance that embeds headers matching the supplied patterns; use the default JSON object mapper.方法の概要
修飾子と型メソッド説明byte[]fromMessage(Message<?> message) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。voidsetCaseSensitive(boolean caseSensitive) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。ヘッダー名パターンの一致で大文字と小文字を区別するには、true に設定します。voidsetRawBytes(boolean rawBytes) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。byte[]ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。Message<?> 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。提供されたオブジェクトをMessageに変換し、必要に応じて提供されたヘッダーを提供します。クラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース BytesMessageMapper から継承されたメソッド
toMessage
フィールドの詳細
logger
protected final org.apache.commons.logging.Log logger非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
コンストラクターの詳細
EmbeddedJsonHeadersMessageMapper
public EmbeddedJsonHeadersMessageMapper()非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE以外のヘッダーを埋め込まないインスタンスを構築し、デフォルトの JSON オブジェクトマッパーを使用します。EmbeddedJsonHeadersMessageMapper
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。Construct an instance that embeds headers matching the supplied patterns; use the default JSON object mapper. Always embed the standardMessageHeaders.ID,MessageHeaders.TIMESTAMPandMessageHeaders.CONTENT_TYPEheaders (when present) regardless of the supplied patterns.- パラメーター:
headerPatterns- パターン。- 関連事項:
EmbeddedJsonHeadersMessageMapper
public EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。標準のMessageHeaders.ID、MessageHeaders.TIMESTAMP、MessageHeaders.CONTENT_TYPE以外のヘッダーを埋め込まないインスタンスを構築します。提供されている JSON オブジェクトマッパーを使用します。- パラメーター:
objectMapper- オブジェクトマッパー。
EmbeddedJsonHeadersMessageMapper
public EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper, StringSE... headerPatterns) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。Construct an instance that embeds headers matching the supplied patterns; use the supplied JSON object mapper. Always embed the standardMessageHeaders.ID,MessageHeaders.TIMESTAMPandMessageHeaders.CONTENT_TYPEheaders (when present) regardless of the supplied patterns.- パラメーター:
objectMapper- オブジェクトマッパー。headerPatterns- パターン。
方法の詳細
setRawBytes
public void setRawBytes(boolean rawBytes) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。byte[]ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。このプロパティが true (デフォルト) の場合、結果は[headersLen][headers][payloadLen][payload]の形式になり、ヘッダーは JSON でレンダリングされ、ペイロードは変更されません。バイトを base64 としてレンダリングするには、falseに設定します。- パラメーター:
rawBytes- base64 としてエンコードする場合は false。
setCaseSensitive
public void setCaseSensitive(boolean caseSensitive) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。ヘッダー名パターンの大文字と小文字を区別して一致させるには、true に設定します。デフォルトは false です。- パラメーター:
caseSensitive- 大文字と小文字を区別する場合は true です。
getHeaderPatterns
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。fromMessage
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。- 次で指定:
- インターフェース
BytesMessageMapper内のfromMessage - 次で指定:
- インターフェース
OutboundMessageMapper<byte[]>内のfromMessage
toMessage
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。インターフェースからコピーされた説明:InboundMessageMapper提供されたオブジェクトをMessageに変換し、必要に応じて提供されたヘッダーを提供します。- 次で指定:
- インターフェース
BytesMessageMapper内のtoMessage - 次で指定:
- インターフェース
InboundMessageMapper<byte[]>内のtoMessage - パラメーター:
bytes- メッセージペイロードまたはその他の変換ロジックのオブジェクトheaders- メッセージを作成するための追加ヘッダー。null にすることができます- 戻り値:
- マッピングの結果としてのメッセージ
EmbeddedHeadersJsonMessageMapperが採用されています。