我有一个澄清。
我们是否可以同时运行多个作业实例。
目前,我们在任何给定时间都有单一的工作实例。
如果有可能,请告诉我如何操作。
是的你可以。 Spring Batch根据JobParameters区分作业。因此,如果您始终将不同的JobParameters传递给同一作业,则将运行同一作业的多个实例。一种简单的方法是向每个启动作业的请求添加UUID参数。例:
final JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
jobParametersBuilder.addString("instance_id", UUID.randomUUID().toString(), true);
jobLauncher.run(job,jobParametersBuilder.toJobParameters());
结束时的布尔值“true”表示Spring Batch将该参数用作作业实例的“标识”的一部分,因此您将始终在每次“运行”作业时获得新实例。
是的,您可以并行运行任务,也可以记录here
但是有一些事情需要考虑
是的,完全可能同时运行多个作业实例(或执行)。