クラス CorrelatingMessageBarrier

実装済みのインターフェース一覧:
org.reactivestreams.Subscriber<Message<?>>, Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, Ordered, ComponentSourceAware, ExpressionCapable, Orderable, MessageSource<ObjectSE>, IntegrationPattern, NamedComponent, IntegrationManagement, TrackableComponent, MessageHandler, reactor.core.CoreSubscriber<Message<?>>

public class CorrelatingMessageBarrier extends AbstractMessageHandler implements MessageSource<ObjectSE>
このエンドポイントは、まだ処理すべきでないメッセージに対するバリアとして機能します。メッセージを処理できるタイミングの決定は ReleaseStrategy に委譲されます。メッセージを処理できる場合、クライアントはロック処理(場合によっては ReleaseStrategy.canRelease(MessageGroup) メソッドによる)を行う必要があります。

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

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

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

    • CorrelatingMessageBarrier

      public CorrelatingMessageBarrier()
    • CorrelatingMessageBarrier

      public CorrelatingMessageBarrier(MessageGroupStore store)
  • 方法の詳細

    • setCorrelationStrategy

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

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

      protected void onInit()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスは、初期化ロジック用にこれを実装できます。
      オーバーライド:
      クラス IntegrationObjectSupport の onInit 
    • handleMessageInternal

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

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