クラス 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 要素は、将来のバージョンで削除される可能性があります。
7.0 以来、Jackson 3 の代わりに EmbeddedHeadersJsonMessageMapper が採用されています。
送信メッセージの場合、メッセージ対応の Jackson オブジェクトマッパーを使用してメッセージを JSON としてレンダリングします。byte[] ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。ペイロードが byte[] で、rawBytes プロパティが true (デフォルト) の場合、結果は [headersLen][headers][payloadLen][payload] の形式になり、ヘッダーは JSON でレンダリングされ、ペイロードは変更されません。それ以外の場合、メッセージは Jackson オブジェクトマッパーで完全に直列化および逆直列化されます。

デフォルトでは、標準の MessageHeaders.IDMessageHeaders.TIMESTAMPMessageHeaders.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.IDMessageHeaders.TIMESTAMPMessageHeaders.CONTENT_TYPE 以外のヘッダーを埋め込まないインスタンスを構築し、デフォルトの JSON オブジェクトマッパーを使用します。
    EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    標準の MessageHeaders.IDMessageHeaders.TIMESTAMPMessageHeaders.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.
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    Construct an instance that embeds headers matching the supplied patterns; use the default JSON object mapper.
  • 方法の概要

    修飾子と型
    メソッド
    説明
    byte[]
    fromMessage(Message<?> message)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    void
    setCaseSensitive(boolean caseSensitive)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    ヘッダー名パターンの一致で大文字と小文字を区別するには、true に設定します。
    void
    setRawBytes(boolean rawBytes)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    byte[] ペイロードを持つメッセージの場合、JSON としてレンダリングされると、Jackson はバイトに対して Base64 変換を実行します。
    toMessage(byte[] bytes, @Nullable MapSE<StringSE,ObjectSE> headers)
    非推奨、削除予定: この 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.IDMessageHeaders.TIMESTAMPMessageHeaders.CONTENT_TYPE 以外のヘッダーを埋め込まないインスタンスを構築し、デフォルトの JSON オブジェクトマッパーを使用します。
    • EmbeddedJsonHeadersMessageMapper

      public EmbeddedJsonHeadersMessageMapper(StringSE... headerPatterns)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      Construct an instance that embeds headers matching the supplied patterns; use the default JSON object mapper. Always embed the standard MessageHeaders.ID, MessageHeaders.TIMESTAMP and MessageHeaders.CONTENT_TYPE headers (when present) regardless of the supplied patterns.
      パラメーター:
      headerPatterns - パターン。
      関連事項:
    • EmbeddedJsonHeadersMessageMapper

      public EmbeddedJsonHeadersMessageMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      標準の MessageHeaders.IDMessageHeaders.TIMESTAMPMessageHeaders.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 standard MessageHeaders.ID, MessageHeaders.TIMESTAMP and MessageHeaders.CONTENT_TYPE headers (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

      public CollectionSE<StringSE> getHeaderPatterns()
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    • fromMessage

      public byte[] fromMessage(Message<?> message)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      次で指定:
      インターフェース BytesMessageMapper 内の fromMessage 
      次で指定:
      インターフェース OutboundMessageMapper<byte[]> 内の fromMessage 
    • toMessage

      public Message<?> toMessage(byte[] bytes, @Nullable MapSE<StringSE,ObjectSE> headers)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      インターフェースからコピーされた説明: InboundMessageMapper
      提供されたオブジェクトを Message に変換し、必要に応じて提供されたヘッダーを提供します。
      次で指定:
      インターフェース BytesMessageMapper 内の toMessage 
      次で指定:
      インターフェース InboundMessageMapper<byte[]> 内の toMessage 
      パラメーター:
      bytes - メッセージペイロードまたはその他の変換ロジックのオブジェクト
      headers - メッセージを作成するための追加ヘッダー。null にすることができます
      戻り値:
      マッピングの結果としてのメッセージ