クラス EmbeddedJsonHeadersMessageMapper
java.lang.ObjectSE
org.springframework.integration.support.json.EmbeddedJsonHeadersMessageMapper
- 実装されたすべてのインターフェース:
BytesMessageMapper
、InboundMessageMapper<byte[]>
、OutboundMessageMapper<byte[]>
送信メッセージの場合、メッセージ対応の Jackson オブジェクトマッパーを使用してメッセージを JSON としてレンダリングします。
byte[]
ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。ペイロードが byte[]
で、rawBytes
プロパティが true (デフォルト) の場合、結果は [headersLen][headers][payloadLen][payload]
の形式になり、ヘッダーは JSON でレンダリングされ、ペイロードは変更されません。それ以外の場合、メッセージは Jackson オブジェクトマッパーで完全に直列化および逆直列化されます。デフォルトでは、すべてのヘッダーが含まれています。ヘッダーのサブセットを指定する単純なパターンを提供できます。
予想される形式が検出されず、変換中にエラーも発生しない場合は、メッセージのペイロードは元の 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
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターコンストラクター説明デフォルトの 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) void
setCaseSensitive
(boolean caseSensitive) ヘッダー名パターンの一致で大文字と小文字を区別するには、true に設定します。void
setRawBytes
(boolean rawBytes) byte[]
ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。Message
<?> 提供されたオブジェクトをMessage
に変換し、必要に応じて提供されたヘッダーを提供します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.integration.mapping.BytesMessageMapper から継承されたメソッド
toMessage
フィールドの詳細
logger
コンストラクターの詳細
EmbeddedJsonHeadersMessageMapper
public EmbeddedJsonHeadersMessageMapper()デフォルトの JSON オブジェクトマッパーを使用して、すべてのヘッダーを埋め込むインスタンスを作成します。EmbeddedJsonHeadersMessageMapper
デフォルトの JSON オブジェクトマッパーを使用して、指定されたパターンに一致するヘッダーを埋め込むインスタンスを作成します。- パラメーター:
headerPatterns
- パターン。- 関連事項:
EmbeddedJsonHeadersMessageMapper
public EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) 提供された JSON オブジェクトマッパーを使用して、すべてのヘッダーを埋め込むインスタンスを作成します。- パラメーター:
objectMapper
- オブジェクトマッパー。
EmbeddedJsonHeadersMessageMapper
public EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper, StringSE... headerPatterns) 提供された JSON オブジェクトマッパーを使用して、提供されたパターンに一致するヘッダーを埋め込むインスタンスを作成します。- パラメーター:
objectMapper
- オブジェクトマッパー。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
- 次で指定:
- インターフェース
OutboundMessageMapper<byte[]>
のfromMessage
toMessage
インターフェースからコピーされた説明:InboundMessageMapper
提供されたオブジェクトをMessage
に変換し、必要に応じて提供されたヘッダーを提供します。- 次で指定:
- インターフェース
BytesMessageMapper
のtoMessage
- 次で指定:
- インターフェース
InboundMessageMapper<byte[]>
のtoMessage
- パラメーター:
bytes
- メッセージペイロードまたはその他の変換ロジックのオブジェクトheaders
- メッセージを作成するための追加ヘッダー。null にすることができます- 戻り値:
- マッピングの結果としてのメッセージ