Возможно ли, что я загружаю контекст Spring в автономную JVM и отправляю весь пакет Spring в загруженный контекст Spring?
Я пытаюсь избежать загрузки контекста Spring для каждой отправки задания Spring, поскольку у меня есть ресурс, который требуетдолгое время загрузки, которое в конечном итоге замедляет загрузку контекста пружины.
У меня есть код ниже в основном методе класса.Я вызываю класс через CLI, передавая имя задания, которое я хочу вызвать
public class SpringBatchJobRunner {
public static void main(String[] args) {
try {
parseArguments(args);
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:com/demo/batch/context/spring-batch-context.xml");
JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
Job job = (Job) context.getBean(jobName);
JobParametersBuilder builder = new JobParametersBuilder();
builder.addDate("date", new Date());
JobExecution execution = jobLauncher.run(job, builder.toJobParameters());
}
catch (Exception e) {
throw new RuntimeException(e);
}
}
static void parseArguments(String[] args) {
if (args.length > 0) {
jobName = args[0];
}
else {
throw new IllegalArgumentException("Please specify job name.");
}
if (args.length > 1) {
for (int i = 1; i < args.length; i++) {
String[] keyValue = args[i].split("=");
jobParameters.setProperty(keyValue[0], keyValue[1]);
}
}
}
}