我正在尝试实现 2 个 Spring Batch 作业,这些作业将在使用端点时运行。既然 JobLauncher 方法对它们来说都是一样的,那么你如何选择要执行哪一个呢?
@Autowired
private JobLauncher jobLauncher;
@Autowired
private Job job;
@RequestMapping(
value = "/expired",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_UTF8_VALUE,
params = {"expireDate"}
)
@ResponseBody
public ResponseDTO expiredJob(@RequestParam(value = "expireDate") String expireDate) throws BusinessException, Exception {
if (!DateValidator.isDateFormatValid(expireDate)) {
throw new BusinessException(ExceptionCodes.DATE_FORMAT_ERROR);
}
JobParameters jobParameters = new JobParametersBuilder().addString("expireDate", expireDate).toJobParameters();
jobLauncher.run(job, jobParameters);
ResponseDTO responseDTO = new ResponseDTO();
return responseDTO;
}
@RequestMapping(
value = "/lucky",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_UTF8_VALUE
)
@ResponseBody
public ResponseDTO rciplusJob() throws BusinessException, Exception {
JobParameters jobParameters = new JobParameters();
jobLauncher.run(job, jobParameters);
ResponseDTO responseDTO = new ResponseDTO();
return responseDTO;
}
慕容708150
相关分类