public class EmbeddedJsonHeadersMessageMapper extends ObjectSE implements BytesMessageMapper
byte[] ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。rawBytes プロパティが true(デフォルト)の場合、結果は <headersLen> <headers> <payloadLen> <payload> の形式になります。ヘッダーは JSON でレンダリングされ、ペイロードは変更されません。デフォルトでは、すべてのヘッダーが含まれています。ヘッダーのサブセットを指定する単純なパターンを提供できます。
予期される形式がどちらも検出されない場合、または変換中にエラーが発生した場合、メッセージのペイロードは元の byte[] です。
IMPORTANT
デフォルトのオブジェクトマッパーは、特定のパッケージのクラスのみをデシリアライズします。
"java.util",
"java.lang",
"org.springframework.messaging.support",
"org.springframework.integration.support",
"org.springframework.integration.message",
"org.springframework.integration.store"
さらにパッケージを追加するには、JacksonJsonUtils.messagingAwareMapper(String...) を使用してオブジェクトマッパーを作成します。
このような構成されたオブジェクトマッパーの提供を可能にするコンストラクターが提供されます。
| コンストラクターと説明 |
|---|
EmbeddedJsonHeadersMessageMapper() デフォルトの JSON オブジェクトマッパーを使用して、すべてのヘッダーを埋め込むインスタンスを作成します。 |
EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) 提供された JSON オブジェクトマッパーを使用して、すべてのヘッダーを埋め込むインスタンスを作成します。 |
EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper, StringSE... headerPatterns) 提供された JSON オブジェクトマッパーを使用して、提供されたパターンに一致するヘッダーを埋め込むインスタンスを作成します。 |
EmbeddedJsonHeadersMessageMapper(StringSE... headerPatterns) デフォルトの JSON オブジェクトマッパーを使用して、指定されたパターンに一致するヘッダーを埋め込むインスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
byte[] | fromMessage(Message<?> message) |
CollectionSE<StringSE> | getHeaderPatterns() |
void | setCaseSensitive(boolean caseSensitive) ヘッダー名パターンの一致で大文字と小文字を区別するには、true に設定します。 |
void | setRawBytes(boolean rawBytes)byte[] ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。 |
Message<?> | toMessage(byte[] bytes, MapSE<StringSE, ObjectSE> headers) 提供されたオブジェクトを Message に変換し、必要に応じて提供されたヘッダーを提供します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEtoMessageprotected final Log logger
public EmbeddedJsonHeadersMessageMapper()
public EmbeddedJsonHeadersMessageMapper(StringSE... headerPatterns)
headerPatterns - パターン。PatternMatchUtils.smartMatch(String, String...)public EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
objectMapper - オブジェクトマッパー。public EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper,
StringSE... headerPatterns)objectMapper - オブジェクトマッパー。headerPatterns - パターン。public void setRawBytes(boolean rawBytes)
byte[] ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。このプロパティが true(デフォルト)の場合、結果は <headersLen> <headers> <payloadLen> <payload> の形式になります。ヘッダーは JSON でレンダリングされ、ペイロードは変更されません。バイトを base64 としてレンダリングするには、false に設定します。rawBytes - base64 としてエンコードする場合は false。public void setCaseSensitive(boolean caseSensitive)
caseSensitive - 大文字と小文字を区別する場合は true。public CollectionSE<StringSE> getHeaderPatterns()
public byte[] fromMessage(Message<?> message)
OutboundMessageMapper<byte[]> の fromMessage public Message<?> toMessage(byte[] bytes, @Nullable MapSE<StringSE,ObjectSE> headers)
InboundMessageMapperMessage に変換し、必要に応じて提供されたヘッダーを提供します。BytesMessageMapper の toMessage InboundMessageMapper<byte[]> の toMessage bytes - メッセージペイロードまたはその他の変換ロジックのオブジェクト headers - メッセージを作成するための追加ヘッダー。null にすることができます