Я использую подпружиненную партию, развернутую на PCF и создающую 2 вызова покоя с помощью контроллера покоя.
1) Start - Rest call вызовет подпружиненную партию - нормально работает
2) End - Restвызов прервет подпружиненный пакет - не в состоянии найти решение или метод, как это сделать
Я смотрю, как завершить подпружиненное пакетное задание между запущенной программой так же, как когда мы убиваем идентификатор процесса Java и завершаем работу.
*/
@RestController
public class BatchTriggerController {
private static final Logger log = LogManager.getLogger(BatchTriggerController.class);
@Autowired
JobLauncher jobLauncher;
@Autowired
Job job;
@RequestMapping(value = "/trigger/start", method = RequestMethod.GET)
public String invokeBatch() {
//
long start = System.currentTimeMillis();
JobParameters jobParameters = new JobParametersBuilder().addLong("time", System.currentTimeMillis()).toJobParameters();
long end = System.currentTimeMillis();
NumberFormat formatter = new DecimalFormat("#0.00000");
System.out.print("Execution time is " + formatter.format((end - start) / 1000d) + " seconds");
log.info("loader Execution time is " + formatter.format((end - start) / 1000d) + " seconds");
try {
jobLauncher.run(job, jobParameters);
} catch (Exception e) {
e.printStackTrace();
log.error("BatchTriggerController Exception "+e.getMessage());
return "Fail";
}
return "Success";
}
@RequestMapping(value = "/trigger/stop", method = RequestMethod.GET)
public String stopBatch() {
//
long start = System.currentTimeMillis();
JobParameters jobParameters = new JobParametersBuilder().addLong("time", System.currentTimeMillis()).toJobParameters();
long end = System.currentTimeMillis();
NumberFormat formatter = new DecimalFormat("#0.00000");
System.out.print("Execution time is " + formatter.format((end - start) / 1000d) + " seconds");
log.info("loader Execution time is " + formatter.format((end - start) / 1000d) + " seconds");
try {
jobLauncher.STOP(job, jobParameters);//NO METHOD STOP
} catch (Exception e) {
e.printStackTrace();
log.error("BatchTriggerController Exception "+e.getMessage());
return "Fail";
}
return "Success";
}