我有一个澄清。
我们是否可以同时运行多个作业实例。
目前,我们在任何给定时间都有一个作业实例。
如果可能的话,请让我知道该怎么做。
是的你可以。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 发出信号,以将该参数用作作业实例的“身份”的一部分,因此每次“运行”作业时都会获得新的实例。
是的,您可以非常多地并行运行任务,如此处所述
但是有一些事情需要考虑
是的,一个作业的多个实例(或执行)完全有可能同时运行。