クラス 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 マッパーによってデ直列化されます。デフォルトでは、すべてのヘッダーが含まれています。ヘッダーのサブセットを指定する単純なパターンを提供できます。
予想される形式が検出されず、変換中にエラーも発生しない場合は、メッセージのペイロードは元の 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
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターコンストラクター説明デフォルトの JSON オブジェクトマッパーを使用して、すべてのヘッダーを埋め込むインスタンスを作成します。EmbeddedHeadersJsonMessageMapper(StringSE... headerPatterns) デフォルトの JSON オブジェクトマッパーを使用して、指定されたパターンに一致するヘッダーを埋め込むインスタンスを作成します。EmbeddedHeadersJsonMessageMapper(tools.jackson.databind.json.JsonMapper jsonMapper) 提供された 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に変換し、必要に応じて提供されたヘッダーを提供します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.integration.mapping.BytesMessageMapper から継承されたメソッド
toMessage
フィールドの詳細
logger
protected final org.apache.commons.logging.Log logger
コンストラクターの詳細
EmbeddedHeadersJsonMessageMapper
public EmbeddedHeadersJsonMessageMapper()デフォルトの JSON オブジェクトマッパーを使用して、すべてのヘッダーを埋め込むインスタンスを作成します。EmbeddedHeadersJsonMessageMapper
デフォルトの JSON オブジェクトマッパーを使用して、指定されたパターンに一致するヘッダーを埋め込むインスタンスを作成します。- パラメーター:
headerPatterns- パターン。- 関連事項:
EmbeddedHeadersJsonMessageMapper
public EmbeddedHeadersJsonMessageMapper(tools.jackson.databind.json.JsonMapper jsonMapper) 提供された JSON オブジェクトマッパーを使用して、すべてのヘッダーを埋め込むインスタンスを作成します。- パラメーター:
jsonMapper- JSON マッパー。
EmbeddedHeadersJsonMessageMapper
public EmbeddedHeadersJsonMessageMapper(tools.jackson.databind.json.JsonMapper jsonMapper, StringSE... headerPatterns) 提供された JSON オブジェクトマッパーを使用して、提供されたパターンに一致するヘッダーを埋め込むインスタンスを作成します。- パラメーター:
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 にすることができます- 戻り値:
- マッピングの結果としてのメッセージ