У меня есть динамически создаваемый / настраиваемый список ReportJobs, которые реализованы как стандартные экземпляры пакетных заданий.Эти задания выполняются планировщиком задач Spring
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
taskRegistrar.setScheduler(taskExecutor());
// create report jobs
for (Map.Entry<String, ReportConfiguration> entry : jobsConfiguration.getReports().entrySet()) {
final ReportConfiguration reportConfiguration = entry.getValue();
final Job reportJob = createReportJob(entry.getKey(), reportConfiguration);
CronTask ct = new CronTask(new Runnable() {
@Override
public void run() {
final JobParameters jobParameters = new JobParametersBuilder()
.addDate("started", new Date())
.toJobParameters();
try {
jobLauncher.run(reportJob, jobParameters);
} catch (JobExecutionException e) {
LOG.warn("cannot execute reportJob");
}
}
}, reportConfiguration.getCron());
taskRegistrar.addCronTask(ct);
}
}
Как видите, эти задания не являются бобами Spring, они создаются на лету.Можно ли получить доступ к JobParameters и т. Д. Во время выполнения ItemWriter или обработчика заданий?