我用spring batch设置了一个Java批处理项目,该项目允许将CSV的行保留在数据库表中。
我想知道Spring API REST是否有可能通过POST方法触发批处理,该方法将加入必要的CSV。
先感谢您
最佳答案
您可以使用带有Controller
和JobLauncher
的Job
。控制器的准系统就是这样
@RestController
public class MyController{
// Usually given by Spring Batch
private JobLauncher jobLauncher;
// Your Job
private Job job;
// Ctor
public MyController(JobLauncher jobLauncher, Job job, ...){}
@PostMapping("/")
public String launchJob(...){
...
// Create JobParameters and launch
JobParameters jobparameters = new Job Parameters();
jobLauncher.run(job, jobParameters);
...
}
}
SimpleJobLauncher是JobLauncher的实现,默认情况下使用同步执行器,您可能需要根据需要将其更改为异步执行器。