クラス FileSplitter

実装されたすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>AwareBeanClassLoaderAwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareOrderedExpressionCapableOrderableMessageProducerDiscardingMessageHandlerHeaderPropagationAwareIntegrationPatternNamedComponentIntegrationManagementTrackableComponentMessageHandlerreactor.core.CoreSubscriber<Message<?>>

public class FileSplitter extends AbstractMessageSplitter
FileSE メッセージペイロードを行に分割するための AbstractMessageSplitter 実装。

iterator = true (デフォルトは true)を使用すると、このクラスは IteratorSE を生成して、Iterator.next() からのオンデマンドでファイル行を処理します。それ以外の場合は、すべての行の ListSE が、さらに AbstractMessageSplitter.handleRequestMessage(org.springframework.messaging.Message<?>) プロセスに返されます。

ファイルパスとして StringSE、ペイロード型として FileSEReaderSEInputStreamSE を受け入れることができます。他のすべての型は無視され、そのまま AbstractMessageSplitter に返されます。

setFirstLineAsHeader(String) が指定されている場合、コンテンツの最初の行はヘッダーとして扱われ、残りの行に出力されるメッセージで指定された名前のヘッダーとして運ばれます。この場合、マーカーが有効になっていると、END マーカーの行数にヘッダー行が含まれず、applySequence が true の場合、ヘッダーはシーケンスに含まれません。

導入:
4.1.2
作成者:
Artem Bilan, Gary Russell, Ruslan Stelmachenko
  • コンストラクターの詳細

    • FileSplitter

      public FileSplitter()
      splitMessage(Message) メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られるスプリッターを作成します。
    • FileSplitter

      public FileSplitter(boolean iterator)
      splitMessage(Message) メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。
      パラメーター:
      iterator - true はイテレータを返し、false は行のリストを返します。
    • FileSplitter

      public FileSplitter(boolean iterator, boolean markers)
      splitMessage(Message) メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。ファイルマーカーが有効になっている場合(START/END)、applySequence はデフォルトで false です。有効にすると、マーカーはシーケンスサイズに含まれます。
      パラメーター:
      iterator - true はイテレータを返し、false は行のリストを返します。
      markers - データの前後にファイルの開始 / ファイルの終了マーカーメッセージを出力する場合は true。
      導入:
      4.1.5
    • FileSplitter

      public FileSplitter(boolean iterator, boolean markers, boolean markersJson)
      splitMessage(Message) メソッドがイテレーターを返し、ファイルが反復中に行ごとに読み取られる、ファイルからの行のリストが読み取られるスプリッターを作成します。ファイルマーカーが有効になっている場合(START/END)、applySequence はデフォルトで false です。有効にすると、マーカーはシーケンスサイズに含まれます。
      パラメーター:
      iterator - true はイテレータを返し、false は行のリストを返します。
      markers - データの前後にファイルの開始 / ファイルの終了マーカーメッセージを出力する場合は true。
      markersJson - true の場合、マーカーは JSON として表されます。
      導入:
      4.2.7
  • メソッドの詳細

    • setCharset

      public void setCharset(@Nullable CharsetSE charset)
      デフォルトの文字セット以外のものが必要な場合に、ファイルを読み取るときに使用する文字セットを設定します。
      パラメーター:
      charset - 文字セット。
    • setFirstLineAsHeader

      public void setFirstLineAsHeader(StringSE firstLineHeaderName)
      残りの行に対して発行されるメッセージのヘッダーとして伝送される最初の行のヘッダー名を指定します。
      パラメーター:
      firstLineHeaderName - 最初の行を運ぶヘッダー名。
      導入:
      5.0
    • splitMessage

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

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

      protected void addHeaders(Message<?> message, MapSE<StringSE,ObjectSE> headers)
      クラスからコピーされた説明: AbstractMessageSplitter
      サブクラスが出力メッセージにヘッダーを追加できるようにします。この方法ではヘッダーを削除できません。
      オーバーライド:
      クラス AbstractMessageSplitteraddHeaders 
      パラメーター:
      message - 受信メッセージ。
      headers - メッセージを追加するヘッダー。