クラス NativeMessageHeaderAccessor

java.lang.ObjectSE
org.springframework.messaging.support.MessageHeaderAccessor
org.springframework.messaging.support.NativeMessageHeaderAccessor
既知の直属サブクラス
JmsMessageHeaderAccessorSimpMessageHeaderAccessor

public class NativeMessageHeaderAccessor extends MessageHeaderAccessor
メッセージブローカーなどの外部ソースからのヘッダーの格納とアクセスをサポートする MessageHeaderAccessor サブクラス。外部ソースからのヘッダーは、キー NATIVE_HEADERS のサブマップで、他のヘッダーとは別に保持されます。これにより、外部ソースとの間で送受信する必要があるヘッダーから処理ヘッダーを分離できます。

このクラスは、外部メッセージングソースとの間でメッセージヘッダーを変換するためのファクトリメソッドも提供するプロトコル固有のサブクラスを通じて間接的に使用される可能性があります。

導入:
4.0
作成者:
Rossen Stoyanchev
  • フィールドの詳細

    • NATIVE_HEADERS

      public static final StringSE NATIVE_HEADERS
      ネイティブヘッダーの格納に使用されるヘッダー名。
      関連事項:
  • コンストラクターの詳細

    • NativeMessageHeaderAccessor

      protected NativeMessageHeaderAccessor()
      新しいインスタンスを作成するための protected コンストラクター。
    • NativeMessageHeaderAccessor

      protected NativeMessageHeaderAccessor(@Nullable MapSE<StringSE,ListSE<StringSE>> nativeHeaders)
      指定されたネイティブヘッダーを使用してインスタンスを作成するための protected コンストラクター。
      パラメーター:
      nativeHeaders - メッセージを作成するためのネイティブヘッダー (null の場合があります)
    • NativeMessageHeaderAccessor

      protected NativeMessageHeaderAccessor(@Nullable Message<?> message)
      別のメッセージからヘッダーをコピーする protected コンストラクター。
  • メソッドの詳細

    • getNativeHeaders

      @Nullable protected MapSE<StringSE,ListSE<StringSE>> getNativeHeaders()
      サブクラスはこのメソッドを使用して、「ネイティブ」ヘッダーサブマップにアクセスできます。
    • toNativeHeaderMap

      public MapSE<StringSE,ListSE<StringSE>> toNativeHeaderMap()
      ネイティブヘッダーサブマップのコピー、または空のマップを返します。
    • setImmutable

      public void setImmutable()
      クラスからコピーされた説明: MessageHeaderAccessor
      デフォルトでは、MessageHeaderAccessor.getMessageHeaders() が呼び出されると、"this"MessageHeaderAccessor インスタンスを使用して基になるメッセージヘッダーを変更することはできなくなります。ただし、MessageHeaderAccessor.setLeaveMutable(boolean) を使用する場合、このメソッドは、MessageHeaders インスタンスを変更する必要がなくなる時期を明示的に示すために必要です。
      オーバーライド:
      クラス MessageHeaderAccessorsetImmutable 
    • copyHeaders

      public void copyHeaders(@Nullable MapSE<StringSE,?> headersToCopy)
      クラスからコピーされた説明: MessageHeaderAccessor
      提供されたマップから名前と値のペアをコピーします。

      この操作は既存の値を上書きします。値の上書きを回避するには、MessageHeaderAccessor.copyHeadersIfAbsent(Map) を使用してください。

      オーバーライド:
      クラス MessageHeaderAccessorcopyHeaders 
    • copyHeadersIfAbsent

      public void copyHeadersIfAbsent(@Nullable MapSE<StringSE,?> headersToCopy)
      クラスからコピーされた説明: MessageHeaderAccessor
      提供されたマップから名前と値のペアをコピーします。

      この操作では、既存の値上書きされません

      オーバーライド:
      クラス MessageHeaderAccessorcopyHeadersIfAbsent 
    • containsNativeHeader

      public boolean containsNativeHeader(StringSE headerName)
      ネイティブヘッダーマップに特定のヘッダー名が含まれているかどうか。
      パラメーター:
      headerName - ヘッダーの名前
    • getNativeHeader

      @Nullable public ListSE<StringSE> getNativeHeader(StringSE headerName)
      指定されたネイティブヘッダーのすべての値が存在する場合は、それを返します。
      パラメーター:
      headerName - ヘッダーの名前
      戻り値:
      関連する値、またはない場合は null 
    • getFirstNativeHeader

      @Nullable public StringSE getFirstNativeHeader(StringSE headerName)
      指定されたネイティブヘッダーの最初の値が存在する場合は、それを返します。
      パラメーター:
      headerName - ヘッダーの名前
      戻り値:
      関連する値、または存在しない場合は null 
    • setNativeHeader

      public void setNativeHeader(StringSE name, @Nullable StringSE value)
      既存の値を置き換えて、指定されたネイティブヘッダー値を設定します。

      これが機能するためには、アクセサーが mutable である必要があります。詳細については、MessageHeaderAccessor を参照してください。

    • setNativeHeaderValues

      public void setNativeHeaderValues(StringSE name, @Nullable ListSE<StringSE> values)
      すべての値の addNativeHeader(String, String) のバリアント。
      導入:
      5.2.12
    • addNativeHeader

      public void addNativeHeader(StringSE name, @Nullable StringSE value)
      指定したネイティブヘッダー値を既存の値に追加します。

      これが機能するためには、アクセサーが mutable である必要があります。詳細については、MessageHeaderAccessor を参照してください。

      パラメーター:
      name - ヘッダーの名前
      value - 設定するヘッダー値
    • addNativeHeaders

      public void addNativeHeaders(@Nullable MultiValueMap<StringSE,StringSE> headers)
      指定されたネイティブヘッダーを既存の値に追加します。
      パラメーター:
      headers - 設定するヘッダー
    • removeNativeHeader

      @Nullable public ListSE<StringSE> removeNativeHeader(StringSE headerName)
      指定されたネイティブヘッダー値を削除して、既存の値を置き換えます。

      これが機能するためには、アクセサーが mutable である必要があります。詳細については、MessageHeaderAccessor を参照してください。

      パラメーター:
      headerName - ヘッダーの名前
      戻り値:
      関連する値、またはヘッダーが存在しない場合は null 
    • getFirstNativeHeader

      @Nullable public static StringSE getFirstNativeHeader(StringSE headerName, MapSE<StringSE,ObjectSE> headers)
      指定されたネイティブヘッダーの最初の値を返します。ない場合は null を返します。
      パラメーター:
      headerName - ヘッダーの名前
      headers - ヘッダーはイントロスペクトにマップされます
      戻り値:
      関連する値、または存在しない場合は null