クラス CorrelatingMessageBarrier

実装されたすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareOrderedExpressionCapableOrderableMessageSource<ObjectSE>IntegrationPatternNamedComponentIntegrationManagementTrackableComponentMessageHandlerreactor.core.CoreSubscriber<Message<?>>

public class CorrelatingMessageBarrier extends AbstractMessageHandler implements MessageSource<ObjectSE>
このエンドポイントは、まだ処理されるべきではないメッセージのバリアとして機能します。メッセージを処理できる時期の決定は、ReleaseStrategy に委譲されます。メッセージを処理できる場合、ロックを処理するのはクライアントの責任です(ReleaseStrategy の canRelease(..) メソッドからの可能性があります)。

このクラスは、受信者と送信者を完全に分離するという点で AbstractCorrelatingMessageHandler とは異なります。これは、メッセージグループの補完が明確に定義されていないが、特定の相関キーに対して特定の量のメッセージのみを一度に処理できるシナリオに適用できます。

メッセージは、相関キーごとに MessageStore に保管されます。

作成者:
Iwein Fuld, Oleg Zhurakousky, Gary Russell, Artem Bilan, Trung Pham
関連事項:
  • コンストラクターの詳細

    • CorrelatingMessageBarrier

      public CorrelatingMessageBarrier()
    • CorrelatingMessageBarrier

      public CorrelatingMessageBarrier(MessageGroupStore store)
  • メソッドの詳細

    • setCorrelationStrategy

      public void setCorrelationStrategy(CorrelationStrategy correlationStrategy)
      受信メッセージの相関キーを決定するために使用される CorrelationStrategy を設定します。
      パラメーター:
      correlationStrategy - 相関戦略。
    • setReleaseStrategy

      public void setReleaseStrategy(ReleaseStrategy releaseStrategy)
      このバリア内のグループを解放できるかどうかを決定するときに使用する必要がある ReleaseStrategy を設定します。
      パラメーター:
      releaseStrategy - リリース戦略。
    • handleMessageInternal

      protected void handleMessageInternal(Message<?> message)
      次で指定:
      クラス AbstractMessageHandlerhandleMessageInternal 
    • receive

      public Message<ObjectSE> receive()
      インターフェースからコピーされた説明: MessageSource
      このソースから次に使用可能なメッセージを取得します。使用可能なメッセージがない場合は、null を返します。
      次で指定:
      インターフェース MessageSource<ObjectSE>receive 
      戻り値:
      メッセージまたは null。