問題タブ [itemprocessor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
175 参照

java - Spring Batch @BeforeContext が実行に失敗する

春のバッチで、複合アイテム プロセッサを構成する複数のアイテム プロセッサがある状況があります。同じステップで 2 つのプロセッサ間でコンテキスト データを共有する必要があります。以下に示すように、コンテキストにアクセスするための実用的なソリューションを見つけました。それは、少しきれいに見える別の解決策があると言いましたが、それは決して呼び出されない @BeforeStepAnnotation を使用します。可能であれば、2番目のソリューションを使用したいと思います。これを行う方法についてのアドバイスは大歓迎です。

これは機能します:

これは失敗します:

0 投票する
1 に答える
342 参照

spring-batch - SpringBatch で ClassifierCompositeItemProcessor を使用する場合、ファイル名を StepBuilderFactory stream() を介して FlatFileItemWriter に動的に渡します

を使用して、マルチフォーマット行で複数の入力ファイルを処理していますClassifierCompositeItemProcessor。しかし、StepBuilderFactoryストリームを使用してファイルを書き込む場合、Resourceファイル名を動的に渡すことができません。Filename は、それぞれの入力ファイル名である必要があります。どんな助けでも大歓迎です。

入力ファイル 1 (data-111111-12323.txt)

入力ファイル 2 (data-22222-23244.txt)

期待される出力ファイル 1 (data-111111-12323.txt)

期待される出力ファイル 2 (data-22222-23244.txt)

ステップ

プロセッサ

ライター

0 投票する
1 に答える
224 参照

java - SpringBatchのItemProcessorで最後のアイテムかどうかを知る方法

私は次の ItemProcessor を持っています。アイテムがリーダーが送信した最後のアイテムであるかどうかを知る必要があります。これは可能ですか?

フローは次のとおりです。

  • ItemReader- データベースから行を読み取ります (数百万行が予想されます)
  • ItemProcessor- 各行でいくつかの検証を実行し、webservice に送信し、webservice 応答でさらに検証を実行します。
  • ItemWriter- 検証からデータベース エラーを書き込み、ライン ステータスを変更します。

別の可能な解決策は、 ItemReader がLinesizeのリストを送信するNUMBER_OF_LINES_TO_CALL_WEBSERVICEことですが、JpaPagingItemReader.

リーダーは次のJpaPagingItemReaderとおりです。