クラス OrderedMessageChannelDecorator

java.lang.ObjectSE
org.springframework.messaging.simp.broker.OrderedMessageChannelDecorator
実装されたすべてのインターフェース:
MessageChannel

public class OrderedMessageChannelDecorator extends ObjectSE implements MessageChannel
メッセージがチャネルにパブリッシュされた順序で処理されることを保証する ExecutorSubscribableChannel のデコレーター。メッセージは一度に 1 つずつ送信され、前のメッセージが処理されると次のメッセージが解放されます。このデコレーターは、セッションごとに適用されることを意図しています。
導入:
5.1
作成者:
Rossen Stoyanchev
  • コンストラクターの詳細

    • OrderedMessageChannelDecorator

      public OrderedMessageChannelDecorator(MessageChannel channel, Log logger)
  • メソッドの詳細

    • send

      public boolean send(Message<?> message)
      インターフェースからコピーされた説明: MessageChannel
      このチャネルに Message を送信します。メッセージが正常に送信されると、メソッドは true を返します。致命的でない理由でメッセージを送信できない場合、メソッドは false を返します。このメソッドは、回復不可能なエラーが発生した場合に RuntimeException をスローすることもあります。

      このメソッドは、実装によっては無期限にブロックされる場合があります。最大待機時間を提供するには、MessageChannel.send(Message, long) を使用します。

      次で指定:
      インターフェース MessageChannelsend 
      パラメーター:
      message - 送信するメッセージ
      戻り値:
      メッセージが送信されたかどうか
    • send

      public boolean send(Message<?> message, long timeout)
      インターフェースからコピーされた説明: MessageChannel
      メッセージを送信し、メッセージが受け入れられるか、指定されたタイムアウト期間が経過するまでブロックします。
      次で指定:
      インターフェース MessageChannelsend 
      パラメーター:
      message - 送信するメッセージ
      timeout - ミリ秒単位のタイムアウトまたは MessageChannel.INDEFINITE_TIMEOUT
      戻り値:
      メッセージが送信された場合は true、送信の割り込みのタイムアウトが含まれていない場合は false 
    • configureInterceptor

      public static void configureInterceptor(MessageChannel channel, boolean preserveOrder)
      メッセージのヘッダーにある場合は、完了タスクを呼び出す ExecutorChannelInterceptor をインストールまたは削除します。
      パラメーター:
      channel - 構成するチャネル
      preserveOrder - オーダーまたは公開を保持するかどうか。"true" の場合はインターセプターが挿入され、"false" の場合は削除されます。
    • supportsOrderedMessages

      public static boolean supportsOrderedMessages(MessageChannel channel)
      チャネルが順次処理用のインターセプターを備えた configured であるかどうか。
      導入:
      6.1
    • getNextMessageTask

      @Nullable public static RunnableSE getNextMessageTask(Message<?> message)
      見つかった場合は、次のメッセージを解放するタスクを取得します。