私は春バッチチャンクベースのジョブを(カスタムリーダー、カスタムプロセッサー、カスタムライターにする必要があります。私が10個のスレッドを開始する場合、それらは並行して読み込み、処理、書込みの順番で実行する必要があります。Springバッチ:チャンク処理をマルチスレッド化するには
スレッド1 - >ためには:読み取り、プロセスは、
スレッド2書き込み - >ためには:読み取り、プロセス、書く...など
この動作を実装する方法を。 現在、以下のようにシングルスレッドモデルで動作するコードがあります。 (私は思う。わからない)。 私はバッチでコミット間隔をしたい:チャンクは '1'のみ(私はファイルを1行ずつ読む必要があるため)。
<!-- Reader bean for our simple Text file -->
<bean id="productReader" class="com.mycompany.batching.reader.productItemReader"
scope="step">
<property name="userId" value="#{jobParameters['userId']}" />
<property name="dataId" value="#{jobParameters['dataId']}" />
</bean>
<!-- Processor for the data red from text file -->
<bean id="productProcessor" class="com.mycompany.batching.processor.productItemProcessor">
</bean>
<!-- Persisting data to database -->
<bean id="productWriter" class="com.mycompany.batching.writer.productItemWriter">
</bean>
<batch:job id="simpleProductImportJob" xmlns="http://www.springframework.org/schema/batch">
<batch:step id="importFileStep">
<batch:tasklet>
<batch:chunk reader="productReader" processor="productProcessor"
writer="productWriter" commit-interval="1" />
</batch:tasklet>
</batch:step>
</batch:job>
これをマルチスレッド化する方法?
おそらく分割されたステップが必要です。http://docs.spring.io/spring-batch/reference/html/scalability.html –