我是Spring Batch的新手,很困惑
我有一个带有一些请求映射的控制器。当我获得某个URL时,我想将作业状态打印到响应正文中。这是一些代码:
@RequestMapping(value = "/batchExecution", method = RequestMethod.GET)
@ResponseBody
public String getJobExecutionStatus() {
return "Hello world!";
}
我尝试将JobExecution添加到方法中,但是您只能使用JobExecutionListener访问这些元素吗?
@RequestMapping(value = "/batchExecution", method = RequestMethod.GET)
@ResponseBody
public String getJobExecutionStatus(JobExecution jobExecution) {
return "Hello world!";
}
很抱歉,我的noobie问题,找不到我要寻找的文档
答案 0 :(得分:0)
要解决此问题,我可以在Pospolita Nikita对原始帖子的评论的帮助下回答自己的问题。
我使用处理方法实现了服务,然后在程序控制器中调用了该方法。代码如下:
服务
Y118834
控制器
@Override
public String process(Long jobId) throws Exception {
BatchStatus jobStatus = explorer.getJobExecution(jobId).getStatus();
LOGGER.info("The Job ID is: " + jobId);
LOGGER.info("The job status is: "+jobStatus);
return null;
}
希望这可以帮助其他人。谢谢!
答案 1 :(得分:-1)
我建议您添加一个由控制器调用的服务,并在其中运行批处理作业,然后返回执行状态以将其返回