2014-10-08 292 views
1

当我使用spring batch admin运行多个长时间运行的批处理作业实例时,它会在达到jobLauncher线程池任务执行程序池大小后阻止其他作业运行。但是,从cron创造多个职位似乎工作得很好。以下是作业启动器配置。Spring批处理并行处理

<bean id="jobLauncher" class="org.springframework.batch.core.launch.support.SimpleJobLauncher"> 
<property name="jobRepository" ref="jobRepository" /> 
    <property name="taskExecutor" ref="jobLauncherTaskExecutor" /> 
</bean> 

<task:executor id="jobLauncherTaskExecutor" pool-size="6" rejection-policy="ABORT" /> 

是spring批处理管理员restful API使用不同的作业启动程序而不是在xml config中指定的?

回答

0

我会建议看看春季框架中的其他TaskExecutor选项。在最坏的情况下,您可以配置自己的ThreadPoolTaskExecutor以使用缓存的线程池,但如果您可能运行的并发作业数量很大或无限,我会提醒注意。

这个其他SO后提供了这种配置的例子。