クラス UnicastingDispatcher

java.lang.ObjectSE
org.springframework.integration.dispatcher.AbstractDispatcher
org.springframework.integration.dispatcher.UnicastingDispatcher
実装されているすべてのインターフェース:
MessageDispatcher

public class UnicastingDispatcher extends AbstractDispatcher
Message を最大で 1 つのハンドラーに送信しようとする MessageDispatcher の実装。ハンドラーは、LoadBalancingStrategy が構成されている場合、LoadBalancingStrategy によって決定されたとおりに試行されます。ハンドラーの 1 つがメッセージを受け入れるとすぐに、ディスパッチャーは true を返し、残りのハンドラーを無視します。

ディスパッチャーにハンドラーがない場合、MessageDispatchingException がスローされます。すべてのハンドラーが例外をスローする場合、ディスパッチャーは AggregateMessageDeliveryException をスローします。

ハンドラーが試行される順序を制御するために、このクラスに負荷分散戦略を提供できます。

導入:
1.0.2
作成者:
Iwein Fuld, Mark Fisher, Gary Russell, Oleg Zhurakousky, Artem Bilan
  • コンストラクターの詳細

    • UnicastingDispatcher

      public UnicastingDispatcher()
    • UnicastingDispatcher

      public UnicastingDispatcher(@Nullable ExecutorSE executor)
  • メソッドの詳細

    • setFailover

      public void setFailover(boolean failover)
      単一の MessageHandler が例外をスローしたときに、このディスパッチャーがフェイルオーバーするかどうかを指定します。デフォルト値は true です。setFailoverStrategy(Predicate) オプションをオーバーライドします。つまり、またはこのオプション、そのオプションを設定する必要があります。
      パラメーター:
      failover - フェールオーバーブール値。
    • setFailoverStrategy

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

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

      public void setMessageHandlingTaskDecorator(MessageHandlingTaskDecorator messageHandlingTaskDecorator)
    • dispatch

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