クラス AbstractItemCountingItemStreamItemReader<T>

実装されたすべてのインターフェース:
ItemReader<T>ItemStreamItemStreamReader<T>
既知の直属サブクラス
AbstractCursorItemReaderAbstractPaginatedDataItemReaderAbstractPagingItemReaderAvroItemReaderFlatFileItemReaderHibernateCursorItemReaderJpaCursorItemReaderJsonItemReaderLdifReaderMappingLdifReaderMongoCursorItemReaderRepositoryItemReaderStaxEventItemReader

public abstract class AbstractItemCountingItemStreamItemReader<T> extends AbstractItemStreamItemReader<T>
ExecutionContext にアイテム数を格納することによる再起動をサポートする ItemReader の抽象スーパークラス(したがって、実行間でアイテムの順序を保持する必要があります)。

サブクラスは本質的にスレッドセーフではありません。

作成者:
Robert Kasanicky, Glenn Renfro, Mahmoud Ben Hassine
  • コンストラクターの詳細

    • AbstractItemCountingItemStreamItemReader

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

    • doRead

      @Nullable protected abstract T doRead() throws ExceptionSE
      入力から次の項目を読み取ります。
      戻り値:
      データソースが使い果たされた場合、アイテムまたは null 
      例外:
      ExceptionSE - サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
    • doOpen

      protected abstract void doOpen() throws ExceptionSE
      入力の読み取りを開始するために必要なリソースを開きます。
      例外:
      ExceptionSE - サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
    • doClose

      protected abstract void doClose() throws ExceptionSE
      doOpen() で開いたリソースを閉じます。
      例外:
      ExceptionSE - サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
    • jumpToItem

      protected void jumpToItem(int itemIndex) throws ExceptionSE
      指定されたアイテムインデックスに移動します。doRead() を使用して入力を再読み取りするよりも効率的に特定のインデックスに移動する方法がある場合、サブクラスはこのメソッドをオーバーライドする必要があります。
      パラメーター:
      itemIndex - ジャンプするアイテムのインデックス(0 ベース)。
      例外:
      ExceptionSE - サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
    • read

      @Nullable public T read() throws ExceptionSE
      インターフェースからコピーされた説明: ItemReader
      入力データの一部を読み取り、次のデータに進みます。実装は、入力データセットの最後に null を返す必要があります。トランザクション設定では、最初の呼び出しがロールバックされたトランザクション内にあった場合、呼び出し元は連続した呼び出し(またはそれ以外)から同じアイテムを 2 回取得する場合があります。
      戻り値:
      T 処理するアイテム、またはデータソースが使い果たされた場合は null 
      例外:
      ParseException - 現在のレコードの解析に問題がある場合 (しかし、次のものはまだ有効かもしれません)
      NonTransientResourceException - 基礎となるリソースに致命的な例外がある場合。この例外をスローした後、実装は後続の read 呼び出しから null を返すように努める必要があります。
      UnexpectedInputException - 入力データに未分類の問題がある場合。潜在的に一時的であると想定します。後続の読み取り呼び出しは成功する可能性があります。
      ExceptionSE - 特定のエラーがない場合。
    • getCurrentItemCount

      public int getCurrentItemCount()
      現在のアイテム数を返します。
      戻り値:
      現在のアイテム数
      導入:
      5.1
    • setCurrentItemCount

      public void setCurrentItemCount(int count)
      読み取りを開始するアイテムのインデックス。ExecutionContext にキー [name].read.count が含まれている場合([name] はこのコンポーネントの名前です)、ExecutionContext からの値が優先的に使用されます。
      パラメーター:
      count - 現在のアイテム数の値
      関連事項:
    • setMaxItemCount

      public void setMaxItemCount(int count)
      読み込まれるアイテムの最大インデックス。ExecutionContext にキー [name].read.count.max が含まれている場合([name] はこのコンポーネントの名前です)、ExecutionContext からの値が優先的に使用されます。
      パラメーター:
      count - 最大アイテム数の値。カウントはゼロより大きくなければなりません。
      関連事項:
    • close

      public void close() throws ItemStreamException
      クラスからコピーされた説明: ItemStreamSupport
      ノーオペレーション。
      次で指定:
      インターフェース ItemStreamclose 
      オーバーライド:
      クラス ItemStreamSupportclose 
      例外:
      ItemStreamException
      関連事項:
    • open

      public void open(ExecutionContext executionContext) throws ItemStreamException
      クラスからコピーされた説明: ItemStreamSupport
      ノーオペレーション。
      次で指定:
      インターフェース ItemStreamopen 
      オーバーライド:
      クラス ItemStreamSupportopen 
      パラメーター:
      executionContext - 現在のステップの ExecutionContext 再起動時のステップの最後の実行からの executionContext になります。
      例外:
      ItemStreamException
      関連事項:
    • update

      public void update(ExecutionContext executionContext) throws ItemStreamException
      クラスからコピーされた説明: ItemStreamSupport
      空の ExecutionContext を返します。
      次で指定:
      インターフェース ItemStreamupdate 
      オーバーライド:
      クラス ItemStreamSupportupdate 
      パラメーター:
      executionContext - 更新される
      例外:
      ItemStreamException
      関連事項:
    • setSaveState

      public void setSaveState(boolean saveState)
      ExecutionContext の内部データを保存するかどうかを決定するフラグを設定します。このストリームから状態を保存したくない場合にのみ、これを false に切り替えて、再起動可能にする必要はありません。リーダーが並行環境で使用されている場合は、常に false に設定します。
      パラメーター:
      saveState - フラグ値(デフォルトは true)。
    • isSaveState

      public boolean isSaveState()
      再起動のために内部状態を保存するかどうかを決定するフラグ。
      戻り値:
      フラグが設定されている場合は true