クラス PartitionedDispatcher
java.lang.ObjectSE
org.springframework.integration.dispatcher.AbstractDispatcher
org.springframework.integration.dispatcher.PartitionedDispatcher
- 実装されているすべてのインターフェース:
MessageDispatcher
ディスパッチするメッセージに対して提供された関数によって決定されたキーに従って、メッセージを専用スレッドに配布するための
AbstractDispatcher 実装。 このクラスによって作成されるすべてのパーティションは、単一スレッド ExecutorSE に基づく UnicastingDispatcher デリゲートです。
すべてのパーティションはメッセージ処理用の専用スレッドに基づいているため、パーティションの数はアプリケーション環境にとって適切な値である必要があります。
残りのロジックは UnicastingDispatcher の動作と似ています。
- 導入:
- 6.1
- 作成者:
- Artem Bilan, Christian Tzolov, Glenn Renfro
フィールドのサマリー
クラス org.springframework.integration.dispatcher.AbstractDispatcher から継承されたフィールド
loggerコンストラクターの概要
コンストラクターコンストラクター説明PartitionedDispatcher(int partitionCount, FunctionSE<Message<?>, ObjectSE> partitionKeyFunction) Instantiate based on a provided number of partitions and function for a partition key against the message to dispatch.メソッドのサマリー
修飾子と型メソッド説明booleanメッセージをディスパッチします。voidsetErrorHandler(ErrorHandler errorHandler) voidsetFailover(boolean failover) パーティションディスパッチャーでフェイルオーバーを有効にするかどうかを指定します。voidsetFailoverStrategy(PredicateSE<ExceptionSE> failoverStrategy) スローされた例外に対してチャネルのディスパッチャーでフェイルオーバーを有効にするかどうかの戦略を構成します。voidsetLoadBalancingStrategy(@Nullable LoadBalancingStrategy loadBalancingStrategy) パーティションディスパッチャーにはLoadBalancingStrategyを提供します。voidsetMessageHandlingTaskDecorator(MessageHandlingTaskDecorator messageHandlingTaskDecorator) Set aMessageHandlingTaskDecoratorto wrap a message handling task into some addition logic, e.g., a message channel may provide an interception for its operations.voidsetThreadFactory(ThreadFactorySE threadFactory) パーティションごとにエグゼキュータのThreadFactorySE を設定します。voidshutdown()アプリケーションを閉じるときにこのディスパッチャーをシャットダウンします。クラス org.springframework.integration.dispatcher.AbstractDispatcher から継承されたメソッド
addHandler, getHandlerCount, getHandlers, removeHandler, setMaxSubscribers, toString, tryOptimizedDispatch
コンストラクターの詳細
PartitionedDispatcher
public PartitionedDispatcher(int partitionCount, FunctionSE<Message<?>, ObjectSE> partitionKeyFunction) Instantiate based on a provided number of partitions and function for a partition key against the message to dispatch.- パラメーター:
partitionCount- このチャネルのパーティションの数。partitionKeyFunction- ディスパッチするメッセージに対してパーティションキーを解決する関数。
メソッドの詳細
setThreadFactory
パーティションごとにエグゼキュータのThreadFactorySE を設定します。デフォルトは、partition-thread-プレフィックスに基づくCustomizableThreadFactoryです。- パラメーター:
threadFactory- 使用するThreadFactorySE。
setFailover
public void setFailover(boolean failover) パーティションディスパッチャーでフェイルオーバーを有効にするかどうかを指定します。デフォルトでは、そうなります。無効にするには、この値を "false" に設定します。- パラメーター:
failover- フェールオーバーブール値。
setFailoverStrategy
スローされた例外に対してチャネルのディスパッチャーがフェイルオーバーを有効にするかどうかの戦略を構成します。setFailover(boolean)オプションをオーバーライドします。つまり、このオプションまたはそのオプションを設定する必要があります。- パラメーター:
failoverStrategy- フェールオーバーブール値。- 導入:
- 6.3
setLoadBalancingStrategy
パーティションディスパッチャーにはLoadBalancingStrategyを提供します。- パラメーター:
loadBalancingStrategy- 負荷分散戦略の実装。
setErrorHandler
- パラメーター:
errorHandler- 使用するErrorHandler。
setMessageHandlingTaskDecorator
public void setMessageHandlingTaskDecorator(MessageHandlingTaskDecorator messageHandlingTaskDecorator) Set aMessageHandlingTaskDecoratorto wrap a message handling task into some addition logic, e.g., a message channel may provide an interception for its operations.- パラメーター:
messageHandlingTaskDecorator- 使用するMessageHandlingTaskDecorator。
shutdown
public void shutdown()Shutdown this dispatcher on application close. The partition executors are shutdown and the internal state of this instance is cleared.dispatch
インターフェースからコピーされた説明:MessageDispatcherメッセージをディスパッチします。- パラメーター:
message- メッセージ。- 戻り値:
- ディスパッチされた場合は true。