我的彈簧引導批處理應用程序有一個調度程序,它將我的批處理作業編寫在FirstBatchConfiguration類中,以便每小時運行一次。在彈簧引導應用程序中調度多個批處理作業
我有另一個批處理作業,我已經在同一個應用程序的SecondBatchConfiguration類中配置了,我將安排在一週內運行一次,但是我無法弄清楚如何在同一個JobScheduler中安排它,這兩個職位都應該在他們自己的預定時間運行
如果有人能幫助我實現這一目標。
我目前的調度是:
@Component
public class JobScheduler {
@Autowired
private JobLauncher jobLauncher;
@Autowired
private FirstBatchConfiguration firstBatchConfiguration;
@Scheduled(cron = "0 0 0/1 * * ?")
public void runJob() {
Map<String, JobParameter> confMap = new HashMap<>();
confMap.put("time", new JobParameter(System.currentTimeMillis()));
JobParameters jobParameters = new JobParameters(confMap);
final Logger logger = LoggerFactory.getLogger("applicationlogger");
try {
jobLauncher.run(firstBatchConfiguration.firstJob(), jobParameters);
} catch (JobExecutionAlreadyRunningException | JobInstanceAlreadyCompleteException
| JobParametersInvalidException | org.springframework.batch.core.repository.JobRestartException e) {
logger.error(e.getMessage());
}
}
}
你也可以看石英。這非常簡單並且有據可查。 – Someone