クラス PartitionedDispatcher

java.lang.ObjectSE
org.springframework.integration.dispatcher.AbstractDispatcher
org.springframework.integration.dispatcher.PartitionedDispatcher
実装済みのインターフェース一覧:
MessageDispatcher

public class PartitionedDispatcher extends AbstractDispatcher
ディスパッチするメッセージに対して提供された関数によって決定されたキーに従って、メッセージを専用スレッドに配布するための AbstractDispatcher 実装。

このクラスによって作成されるすべてのパーティションは、単一スレッド ExecutorSE に基づく UnicastingDispatcher デリゲートです。

すべてのパーティションはメッセージ処理用の専用スレッドに基づいているため、パーティションの数はアプリケーション環境にとって適切な値である必要があります。

残りのロジックは UnicastingDispatcher の動作と似ています。

導入:
6.1
作成者:
Artem Bilan, Christian Tzolov, Glenn Renfro
  • コンストラクターの詳細

    • PartitionedDispatcher

      public PartitionedDispatcher(int partitionCount, FunctionSE<Message<?>, ObjectSE> partitionKeyFunction)
      指定されたパーティション数と、ディスパッチするメッセージに対するパーティションキーの機能に基づいてインスタンスを作成します。
      パラメーター:
      partitionCount - このチャネルのパーティションの数。
      partitionKeyFunction - ディスパッチするメッセージに対してパーティションキーを解決する関数。
  • メソッドの詳細

    • setThreadFactory

      public void setThreadFactory(ThreadFactorySE threadFactory)
      パーティションごとにエグゼキュータの ThreadFactorySE を設定します。デフォルトは、partition-thread- プレフィックスに基づく CustomizableThreadFactory です。
      パラメーター:
      threadFactory - 使用する ThreadFactorySE
    • setFailover

      public void setFailover(boolean failover)
      パーティションディスパッチャーでフェイルオーバーを有効にするかどうかを指定します。デフォルトでは、そうなります。無効にするには、この値を "false" に設定します。
      パラメーター:
      failover - フェールオーバーブール値。
    • setFailoverStrategy

      public void setFailoverStrategy(PredicateSE<ExceptionSE> failoverStrategy)
      スローされた例外に対してチャネルのディスパッチャーがフェイルオーバーを有効にするかどうかの戦略を構成します。setFailover(boolean) オプションをオーバーライドします。つまり、このオプションまたはそのオプションを設定する必要があります。
      パラメーター:
      failoverStrategy - フェールオーバーブール値。
      導入:
      6.3
    • setLoadBalancingStrategy

      public void setLoadBalancingStrategy(@Nullable LoadBalancingStrategy loadBalancingStrategy)
      パーティションディスパッチャーには LoadBalancingStrategy を提供します。
      パラメーター:
      loadBalancingStrategy - 負荷分散戦略の実装。
    • setErrorHandler

      public void setErrorHandler(ErrorHandler errorHandler)
      パーティション ExecutorSEErrorHandlingTaskExecutor にラップするための ErrorHandler を提供します。
      パラメーター:
      errorHandler - 使用する ErrorHandler
    • setMessageHandlingTaskDecorator

      public void setMessageHandlingTaskDecorator(MessageHandlingTaskDecorator messageHandlingTaskDecorator)
      MessageHandlingTaskDecorator を設定すると、メッセージ処理タスクが何らかの追加ロジックにラップされます。たとえば、メッセージチャネルは、その操作のインターセプションを提供できます。
      パラメーター:
      messageHandlingTaskDecorator - 使用する MessageHandlingTaskDecorator
    • setWorkerQueueSize

      public void setWorkerQueueSize(int workerQueueSize)
      パーティションエグゼキュータのワーカーにキューのサイズを指定します。デフォルトは 0 です。
      パラメーター:
      workerQueueSize - パーティションエグゼキュータの ワーカーキューのサイズ。
      導入:
      6.4.10
    • shutdown

      public void shutdown()
      アプリケーション終了時にこのディスパッチャーをシャットダウンします。パーティションエグゼキュータがシャットダウンされ、このインスタンスの内部状態がクリアされます。
    • dispatch

      public boolean dispatch(Message<?> message)
      インターフェースからコピーされた説明: MessageDispatcher
      メッセージをディスパッチします。
      パラメーター:
      message - メッセージ。
      戻り値:
      ディスパッチされた場合は true。