クラス AbstractMessageSplitter

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

public abstract class AbstractMessageSplitter extends AbstractReplyProducingMessageHandler implements DiscardingMessageHandler
メッセージ分割ハンドラーの基本クラス。
作成者:
Mark Fisher, Dave Syer, Artem Bilan, Ruslan Stelmachenko, Gary Russell
  • コンストラクターの詳細

    • AbstractMessageSplitter

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

    • setApplySequence

      public void setApplySequence(boolean applySequence)
      applySequence フラグを指定された値に設定します。デフォルトは true です。
      パラメーター:
      applySequence - シーケンス情報を適用する場合は true。
    • setDiscardChannel

      public void setDiscardChannel(MessageChannel discardChannel)
      拒否されたメッセージを送信するチャネルを指定します。破棄チャネルが null(デフォルト)の場合、拒否されたメッセージはドロップされます。「拒否されたメッセージ」は、split 関数が空の結果(null ではない)を返したことを意味します。送信するために繰り返す項目はありません。
      パラメーター:
      discardChannel - 廃棄チャネル。
      導入:
      5.2
    • setDiscardChannelName

      public void setDiscardChannelName(StringSE discardChannelName)
      拒否されたメッセージを送信するチャネル Bean 名(MessageChannel に遅延解決)を指定します。破棄チャネルが null(デフォルト)の場合、拒否されたメッセージはドロップされます。「拒否されたメッセージ」は、split 関数が空の結果(null ではない)を返したことを意味します。送信するために繰り返す項目はありません。
      パラメーター:
      discardChannelName - 廃棄チャネル Bean 名。
      導入:
      5.2
    • getDiscardChannel

      public MessageChannel getDiscardChannel()
      インターフェースからコピーされた説明: DiscardingMessageHandler
      破棄チャネルを返します。
      次で指定:
      インターフェース DiscardingMessageHandlergetDiscardChannel 
      戻り値:
      チャンネル。
    • getIntegrationPatternType

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

      protected void doInit()
      オーバーライド:
      クラス AbstractReplyProducingMessageHandlerdoInit 
    • handleRequestMessage

      protected final ObjectSE handleRequestMessage(Message<?> message)
      クラスからコピーされた説明: AbstractReplyProducingMessageHandler
      サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。
      次で指定:
      クラス AbstractReplyProducingMessageHandlerhandleRequestMessage 
      パラメーター:
      message - リクエストメッセージ。
      戻り値:
      メッセージを処理した結果、または null
    • obtainSizeIfPossible

      protected int obtainSizeIfPossible(IterableSE<?> iterable)
      付属の IterableSE のサイズを取得します。デフォルトの実装は、iterable がコレクションの場合は Collection.size() を返し、それ以外の場合は 0 を返します。iterable が Jackson TreeNode の場合、そのサイズが使用されます。
      パラメーター:
      iterable - サイズを取得するための IterableSE
      戻り値:
      IterableSE のサイズ
      導入:
      5.0
    • obtainSizeIfPossible

      protected int obtainSizeIfPossible(IteratorSE<?> iterator)
      付属の IteratorSE のサイズを取得します。デフォルトの実装は 0 を返します。
      パラメーター:
      iterator - サイズを取得するための IteratorSE
      戻り値:
      IteratorSE のサイズ
      導入:
      5.0
    • willAddHeaders

      protected boolean willAddHeaders(Message<?> message)
      サブクラスが結果の分割にヘッダーを追加する必要がある場合は、true を返します。true の場合、addHeaders(org.springframework.messaging.Message<?>, java.util.Map<java.lang.String, java.lang.Object>) が呼び出されます。
      パラメーター:
      message - メッセージ。
      戻り値:
      true
    • addHeaders

      protected void addHeaders(Message<?> message, MapSE<StringSE,ObjectSE> headers)
      サブクラスが出力メッセージにヘッダーを追加できるようにします。この方法ではヘッダーを削除できません。
      パラメーター:
      message - 受信メッセージ。
      headers - メッセージを追加するヘッダー。
    • shouldCopyRequestHeaders

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

      protected void produceOutput(ObjectSE result, Message<?> requestMessage)
      オーバーライド:
      クラス AbstractMessageProducingHandlerproduceOutput 
    • getComponentType

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

      protected abstract ObjectSE splitMessage(Message<?> message)
      受信したメッセージを分割するには、サブクラスでこのメソッドをオーバーライドする必要があります。戻り値は、コレクションまたは配列です。個々の要素はメッセージの場合がありますが、必須ではありません。要素がメッセージではない場合、それぞれがメッセージのペイロードとして提供されます。単一のオブジェクトまたはメッセージを返すことも可能です。その場合、単一の応答メッセージが作成されます。
      パラメーター:
      message - メッセージ。
      戻り値:
      メッセージを分割した結果。