【发布时间】:2018-10-12 08:50:26
【问题描述】:
我有一个像这样运行的 Spring 批处理作业:
public void myMethod() throws JobParametersInvalidException, JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException {
logger.log("Job Starting");
JobParameters param = new JobParametersBuilder()
.addString("JobID", String.valueOf(System.currentTimeMillis()))
.toJobParameters();
jobLauncher.run(myJob(), param);
logger.log("Job Finished");
}
这通过使用TaskExecutor 异步运行。所以第二个 logger.log 在调用作业后立即记录。
我希望在myJob() 完成后记录日志。
我已尝试更改实际工作以执行此操作,但这似乎不是最佳解决方案。我还尝试寻找诸如andThen 和onComplete 之类的方法,但我找不到任何东西。
有没有办法做到这一点?
【问题讨论】:
标签: java spring spring-batch