クラス AbstractMessageProducingHandler

実装されたすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareOrderedExpressionCapableOrderableMessageProducerHeaderPropagationAwareIntegrationPatternNamedComponentIntegrationManagementTrackableComponentMessageHandlerreactor.core.CoreSubscriber<Message<?>>
既知の直属サブクラス
AbstractCorrelatingMessageHandlerAbstractReplyProducingMessageHandlerFluxAggregatorMessageHandlerMessageHandlerChainMockMessageHandler

public abstract class AbstractMessageProducingHandler extends AbstractMessageHandler implements MessageProducer, HeaderPropagationAware
作成者:
David Liu, Artem Bilan, Gary Russell, Marius Bogoevici since 4.1
  • フィールドの詳細

  • コンストラクターの詳細

    • AbstractMessageProducingHandler

      public AbstractMessageProducingHandler()
  • メソッドの詳細

    • setSendTimeout

      public void setSendTimeout(long sendTimeout)
      返信メッセージ送信のタイムアウトを設定します。
      パラメーター:
      sendTimeout - 送信タイムアウト。
    • setOutputChannel

      public void setOutputChannel(MessageChannel outputChannel)
      インターフェースからコピーされた説明: MessageProducer
      生成されたメッセージの送信先となる MessageChannel を指定します。
      次で指定:
      インターフェース MessageProducersetOutputChannel 
      パラメーター:
      outputChannel - 出力チャネル。
    • setOutputChannelName

      public void setOutputChannelName(StringSE outputChannelName)
      インターフェースからコピーされた説明: MessageProducer
      生成されたメッセージの送信先となる MessageChannel の Bean 名を指定します。
      次で指定:
      インターフェース MessageProducersetOutputChannelName 
      パラメーター:
      outputChannelName - 出力チャネル Bean 名。
    • setAsync

      public final void setAsync(boolean async)
      非同期返信を許可します。ハンドラーの応答が CompletableFutureSE または Publisher の場合、結果として将来を送信するのではなく、満足したときに出力を送信します。CompletableFutureSE または Publisher 以外の戻り型では無視されます。
      パラメーター:
      async - 許可する場合は true。
      導入:
      4.3
    • isAsync

      protected boolean isAsync()
      戻り値:
      このハンドラーが非同期応答をサポートしている場合は true。
      導入:
      4.3
      関連事項:
    • setNotPropagatedHeaders

      public void setNotPropagatedHeaders(StringSE... headers)
      shouldCopyRequestHeaaders が true の場合に受信メッセージからコピーされないヘッダーパターン("xxx*"、"*xxx"、"*xxx*" または "xxx* yyy")を設定します。"*" として少なくとも 1 つのパターンは、ヘッダーをまったくコピーしないことを意味します。
      次で指定:
      インターフェース HeaderPropagationAwaresetNotPropagatedHeaders 
      パラメーター:
      headers - 受信メッセージから伝播しないヘッダー。
      導入:
      4.3.10
      関連事項:
    • updateNotPropagatedHeaders

      protected final void updateNotPropagatedHeaders(StringSE[] headers, boolean merge)
      伝播されていないヘッダーを設定または置換します。setNotPropagatedHeaders(String...) は final ではないため、サブクラスがコンストラクターで特定のヘッダーを設定できるように公開されます。
      パラメーター:
      headers - 伝播しないヘッダーパターン。
      merge - 既存のパターンとマージする場合は true。置き換える場合は false。
      導入:
      5.0.2
    • getNotPropagatedHeaders

      public CollectionSE<StringSE> getNotPropagatedHeaders()
      このハンドラーが伝播しないヘッダーパターンを取得します。
      次で指定:
      インターフェース HeaderPropagationAwaregetNotPropagatedHeaders 
      戻り値:
      shouldCopyRequestHeaders() が true の場合に受信メッセージからコピーされないヘッダーの不変の CollectionSE
      導入:
      4.3.10
      関連事項:
    • addNotPropagatedHeaders

      public void addNotPropagatedHeaders(StringSE... headers)
      既存のセットを上書きする代わりに、shouldCopyRequestHeaders() が true の場合に受信メッセージからコピーされないヘッダーパターン("xxx*"、"*xxx"、"*xxx*" または "xxx* yyy")を追加します。
      次で指定:
      インターフェース HeaderPropagationAwareaddNotPropagatedHeaders 
      パラメーター:
      headers - 受信メッセージから伝播しないヘッダー。
      導入:
      4.3.10
      関連事項:
    • onInit

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

      @Nullable public MessageChannel getOutputChannel()
      インターフェースからコピーされた説明: MessageProducer
      出力チャネルを返します。
      次で指定:
      インターフェース MessageProducergetOutputChannel 
      戻り値:
      チャンネル。
    • sendOutputs

      protected void sendOutputs(ObjectSE result, Message<?> requestMessage)
    • shouldSplitOutput

      protected boolean shouldSplitOutput(IterableSE<?> reply)
    • produceOutput

      protected void produceOutput(ObjectSE replyArg, Message<?> requestMessage)
    • messageBuilderForReply

      protected AbstractIntegrationMessageBuilder<?> messageBuilderForReply(ObjectSE reply)
    • createOutputMessage

      protected Message<?> createOutputMessage(ObjectSE output, MessageHeaders requestHeaders)
    • sendOutput

      protected void sendOutput(ObjectSE output, @Nullable ObjectSE replyChannelArg, boolean useArgChannel)
      出力メッセージを送信します。"replyChannel" は、このハンドラーの "outputChannel" が null の場合にのみ考慮されます。その場合、"replyChannel" 値は null であってはならず、String または MessageChannel のいずれかのインスタンスである必要があります。
      パラメーター:
      output - 送信する出力オブジェクト
      replyChannelArg - 元のリクエストの "replyChannel" 値
      useArgChannel - 構成された出力チャネルではなく、replyChannel 引数 (null であってはなりません) を使用します。
    • shouldCopyRequestHeaders

      protected boolean shouldCopyRequestHeaders()
      サブクラスはこれをオーバーライドできます。デフォルトでは true。
      戻り値:
      リクエストヘッダーをコピーする必要がある場合は true。
    • sendErrorMessage

      protected void sendErrorMessage(Message<?> requestMessage, ThrowableSE ex)
    • resolveErrorChannel

      protected ObjectSE resolveErrorChannel(MessageHeaders requestHeaders)
    • setupMessageProcessor

      protected void setupMessageProcessor(MessageProcessor<?> processor)