Я успешно создал учебный проект Spring Batch. Я действительно хотел бы знать, возможно ли сделать его многопоточным на уровне "Spring".
Основная идея того, что я хочу, состоит в том, чтобы составить список задач или шагов задачи и позволить им быть подобраны и обработаны независимыми потоками, в идеале, из пула, ограниченного числом "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>
My appContext содержит репозиторий вакансий bean (SimpleJobRepository
), диспетчер транзакций (ResourceLessTransactionManager
) и запуск запуска (SimpleJobLauncher
). Я также могу предоставить этот код, если захочу, но я просто не хотел увязывать этот пост с тоннами XML.
Большое спасибо за любую помощь!