クラス PublishSubscribeChannel

実装されたすべてのインターフェース:
AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareBroadcastCapableChannelExecutorChannelInterceptorAwareComponentSourceAwareExpressionCapableIntegrationPatternNamedComponentIntegrationManagementSubscribableChannelManagementTrackableComponentMessageChannelSubscribableChannelInterceptableChannel

public class PublishSubscribeChannel extends AbstractExecutorChannel implements BroadcastCapableChannel
各サブスクライバーにメッセージを送信するチャネル。
作成者:
Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan, Trung Pham
  • コンストラクターの詳細

    • PublishSubscribeChannel

      public PublishSubscribeChannel()
      メッセージ送信者のスレッドでハンドラーを呼び出す PublishSubscribeChannel を作成します。
    • PublishSubscribeChannel

      public PublishSubscribeChannel(boolean requireSubscribers)
      提供された requireSubscribers フラグを考慮して、メッセージ送信者のスレッドでハンドラーを呼び出す PublishSubscribeChannel を作成します。
      パラメーター:
      requireSubscribers - true に設定されている場合、送信されたメッセージはディスパッチされていないと見なされ、"Dispatcher has no subscribers" を使用して呼び出し元に拒否されます。
      導入:
      5.4.3
    • PublishSubscribeChannel

      public PublishSubscribeChannel(@Nullable ExecutorSE executor)
      ExecutorSE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。これが null の場合、各呼び出しはメッセージ送信者のスレッドで発生します。
      パラメーター:
      executor - エグゼキューター。
    • PublishSubscribeChannel

      public PublishSubscribeChannel(@Nullable ExecutorSE executor, boolean requireSubscribers)
      ExecutorSE を使用してハンドラーを呼び出す PublishSubscribeChannel を作成します。これが null の場合、各呼び出しはメッセージ送信者のスレッドで発生します。
      パラメーター:
      executor - エグゼキューター。
      requireSubscribers - true に設定されている場合、送信されたメッセージはディスパッチされていないと見なされ、"Dispatcher has no subscribers" を使用して呼び出し元に拒否されます。
      導入:
      5.4.3
  • メソッドの詳細

    • getComponentType

      public StringSE getComponentType()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。
      次で指定:
      インターフェース NamedComponentgetComponentType 
      オーバーライド:
      クラス AbstractMessageChannelgetComponentType 
    • getIntegrationPatternType

      public IntegrationPatternType getIntegrationPatternType()
      インターフェースからコピーされた説明: IntegrationPattern
      このコンポーネントが実装するパターン型を返します。
      次で指定:
      インターフェース IntegrationPatterngetIntegrationPatternType 
      オーバーライド:
      クラス AbstractExecutorChannelgetIntegrationPatternType 
      戻り値:
      このコンポーネントが実装する IntegrationPatternType
    • setErrorHandler

      public void setErrorHandler(ErrorHandler errorHandler)
      このチャネルの下流で発生する例外を処理するための ErrorHandler 戦略を提供します。これは、このチャネルのメッセージをディスパッチするように Executor が構成されている場合にのみ適用されます。それ以外の場合、例外は送信スレッド内で直接スローされます。ErrorHandler が提供されず、このチャネルがディスパッチを Executor に委譲する場合、デフォルトの戦略は、失敗したリクエストメッセージのエラーチャネルヘッダーがある場合はそのヘッダーにエラーメッセージを送信する MessagePublishingErrorHandler であり、ない場合はデフォルトの "errorChannel" に送信されます。
      パラメーター:
      errorHandler - エラーハンドラー。
      関連事項:
    • setIgnoreFailures

      public void setIgnoreFailures(boolean ignoreFailures)
      1 つ以上のハンドラーの失敗を無視するかどうかを指定します。デフォルトでは、これは false であり、ハンドラーが失敗するたびに例外がスローされることを意味します。これをオーバーライドして例外を抑制するには、値を true に設定します。
      パラメーター:
      ignoreFailures - 失敗を無視する必要がある場合は true。
    • setApplySequence

      public void setApplySequence(boolean applySequence)
      サブスクライブされたハンドラーを呼び出す前に、シーケンス番号とサイズのヘッダーをメッセージに適用するかどうかを指定します。デフォルトでは、この値は false であり、シーケンスヘッダーが適用されないことを意味します。デフォルトの相関および完了戦略でダウンストリームのアグリゲーターを使用することを計画している場合は、このフラグを true に設定する必要があります。
      パラメーター:
      applySequence - シーケンス情報を適用する必要がある場合は true。
    • setMinSubscribers

      public void setMinSubscribers(int minSubscribers)
      少なくともこの数のサブスクライバーがメッセージを受信すると、AbstractMessageChannel.send(org.springframework.messaging.Message) は true を返します。デフォルト: 0。
      パラメーター:
      minSubscribers - サブスクライバーの最小数。
    • onInit

      public final void onInit()
      初期化のためのコールバックメソッド。
      オーバーライド:
      クラス AbstractMessageChannelonInit 
    • getDispatcher

      protected BroadcastingDispatcher getDispatcher()
      次で指定:
      クラス AbstractSubscribableChannelgetDispatcher