チュートリアルのSpringBatchプロジェクトを正常にセットアップしました。「春のレベル」でマルチスレッド化できるかどうか本当に知りたいです。
私が欲しいものの基本的な考え方は、タスクまたはタスクステップのリストを作成し、それらを独立したスレッドによって、理想的には「n」個のスレッドに制限されたプールから取得して処理できるようにすることです。
これは可能ですか?もしそうなら、どのように?誰かが私が現在いる場所からそのポイントに私を案内してくれるでしょうか?
私が持っている簡単なプロジェクトは、このチュートリアルからのものです。基本的に、画面にメッセージを出力するさまざまなタスクがあります。
これが私の現在のsimpleJob.xmlファイルで、ジョブの詳細が含まれています。
<import resource="applicationContext.xml"/>
<bean id="hello" class="helloworld.PrintTasklet">
<property name="message" value="Hello"/>
</bean>
<bean id="space" class="helloworld.PrintTasklet">
<property name="message" value=" "/>
</bean>
<bean id="world" class="helloworld.PrintTasklet">
<property name="message" value="World!\n"/>
</bean>
<bean id="taskletStep" class="org.springframework.batch.core.step.tasklet.TaskletStep" >
<property name="jobRepository" ref="jobRepository"/>
<property name="transactionManager" ref="transactionManager"/>
</bean>
<bean id="simpleJob" class="org.springframework.batch.core.job.SimpleJob">
<property name="name" value="simpleJob" />
<property name="steps">
<list>
<bean parent="taskletStep">
<property name="tasklet" ref="hello"/>
</bean>
<bean parent="taskletStep">
<property name="tasklet" ref="space"/>
</bean>
<bean parent="taskletStep">
<property name="tasklet" ref="world"/>
</bean>
</list>
</property>
<property name="jobRepository" ref="jobRepository"/>
</bean>
私のappContextには、ジョブリポジトリBean(SimpleJobRepository
)、トランザクションマネージャ(ResourceLessTransactionManager
)、およびジョブランチャー(SimpleJobLauncher
)が含まれています。必要に応じてこのコードを提供することもできますが、この投稿を大量のXMLで埋め尽くしたくありませんでした。
助けてくれてありがとう!