@ResponseBody @RequestMapping(value = "/getJobDefinitionsList") public List<JobDefinition> getJobDefinitionsList( HttpServletResponse response, @RequestParam Map<String, Object> parameter) throws Exception { List<JobDefinition> list = new ArrayList<JobDefinition>(); JobDefinition jobDefinition = new JobDefinition(); jobDefinition.setId("1"); jobDefinition.setName("hello job"); ; list.add(jobDefinition); JobDefinition jobDefinition1 = new JobDefinition(); jobDefinition1.setId("2"); jobDefinition1.setName("hello job1"); ; list.add(jobDefinition1); JobDefinition jobDefinition2 = new JobDefinition(); jobDefinition2.setId("3"); jobDefinition2.setName("hello job2"); ; list.add(jobDefinition2); return list; }
@ResponseBody @RequestMapping(value = "/saveJobDefinition", method = RequestMethod.POST) public JobDefinition saveJobDefinition( @ModelAttribute("jobDefinitionForm") JobDefinition inParam, HttpServletResponse response) throws Exception { if (AssertHelper.empty(inParam.getId())) { inParam.setId(IdGenerator.getUUID()); jobDefinitionService.save(inParam); } else { jobDefinitionService.update(inParam); } inParam.setId(inParam.getId()); return inParam; }
@ResponseBody @RequestMapping(value = "/stopJob", method = RequestMethod.POST) public void stopJob(@RequestParam Map<String, Object> map) throws Exception { String selectid = (String) map.get("selectid"); AssertHelper.notEmpty_assert(selectid, "执行的任务id不能为空"); JobDefinition jobDefinition = (JobDefinition) jobDefinitionService.get(JobDefinition.class, selectid); jobDefinition.setState(JobState.stopping); jobDefinition.setEndDate(new Date()); jobDefinitionService.update(jobDefinition); try { JobHistory jobhistory = new JobHistory(); jobhistory.setEndDate(jobDefinition.getEndDate()); jobhistory.setId(IdGenerator.getUUID()); jobhistory.setJobId(selectid); jobhistory.setSuccessful(true); jobDefinitionService.save(jobhistory); } catch (Exception e) { e.printStackTrace(); JobHistory jobhistory = new JobHistory(); jobhistory.setEndDate(jobDefinition.getEndDate()); jobhistory.setStartDate(jobDefinition.getStartDate()); jobhistory.setId(IdGenerator.getUUID()); jobhistory.setJobId(selectid); jobhistory.setSuccessful(false); jobDefinitionService.save(jobhistory); } }
/** * 立即执行 * * @param map * @throws Exception */ @ResponseBody @RequestMapping(value = "/exeJob", method = RequestMethod.POST) public void exeJob(@RequestParam Map<String, Object> map, HttpServletResponse response) throws Exception { String selectid = (String) map.get("selectid"); AssertHelper.notEmpty_assert(selectid, "执行的任务id不能为空"); JobDefinition jobDefinition = (JobDefinition) jobDefinitionService.get(JobDefinition.class, selectid); AssertHelper.notEmpty_assert(jobDefinition, "id为" + selectid + "的job定义没有找到"); String beanId = jobDefinition.getBeanId(); AssertHelper.notEmpty_assert(jobDefinition, "id为" + selectid + "的job没有定义beanId"); Object job = SpringUtil.getBean(beanId); AssertHelper.notEmpty_assert(job, "beanId为" + beanId + "的bean没有找到"); if (!((job instanceof Job) && (job instanceof JobTest))) { throw new BusinessException("beanId为" + beanId + "的bean必须实现的是org.quartz.Job和JobTest接口"); } JobTest jobTest = (JobTest) job; JSONObject object = new JSONObject(); object.put("success", "true"); try { jobTest.execute(); JobHistory jobhistory = new JobHistory(); jobhistory.setEndDate(jobDefinition.getEndDate()); jobhistory.setStartDate(jobDefinition.getStartDate()); jobhistory.setId(IdGenerator.getUUID()); jobhistory.setJobId(beanId); jobhistory.setSuccessful(true); jobDefinitionService.save(jobhistory); retJson(response, object); } catch (Exception e) { e.printStackTrace(); JobHistory jobhistory = new JobHistory(); jobhistory.setEndDate(jobDefinition.getEndDate()); jobhistory.setStartDate(jobDefinition.getStartDate()); jobhistory.setId(IdGenerator.getUUID()); jobhistory.setJobId(beanId); jobhistory.setSuccessful(false); jobDefinitionService.save(jobhistory); object.put("errorMsg", e.getMessage()); object.put("success", "false"); retJson(response, object); } }