java – Spring Batch:针对不同工作的不同作业启动器
发布时间:2020-12-15 03:07:42 所属栏目:Java 来源:网络整理
导读:我有两个不同的工作(实际上更多,但为简单起见假设2).每个作业可以与另一个作??业并行运行,但是同一作业的每个实例都应该按顺序运行(否则实例会蚕食彼此的资源). 基本上我希望每个这些作业都拥有自己的作业实例队列.我想我可以使用两个不同的线程池作业启动器
我有两个不同的工作(实际上更多,但为简单起见假设2).每个作业可以与另一个作??业并行运行,但是同一作业的每个实例都应该按顺序运行(否则实例会蚕食彼此的资源).
基本上我希望每个这些作业都拥有自己的作业实例队列.我想我可以使用两个不同的线程池作业启动器(每个都有1个线程)并将作业启动器与每个作业相关联. 有没有办法做到这一点,从Spring Batch Admin Web UI启动作业时会受到尊重? 解决方法
有一种方法可以为特定作业指定特定的作业启动器,但我发现这样做的唯一方法是使用JobStep.
如果您有一个名为“specificJob”的作业,这将创建另一个作业“queueSpecificJob”,因此当您通过Quartz或Spring Batch Web管理员启动它时,它将排队“specificJob”执行. <bean id="specificJobLauncher" class="org.springframework.batch.core.launch.support.SimpleJobLauncher"> <property name="jobRepository" ref="jobRepository"/> <property name="taskExecutor"> <task:executor id="singleThreadPoolExecutor" pool-size="1"/> </property> </bean> <job id="queueSpecificJob"> <step id="specificJobStep"> <job ref="specificJob" job-launcher="specificJobLauncher" job-parameters-extractor="parametersExtractor" /> </step> </job> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |