JobEntityServiceImpl.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.ssj.quartz.service.impl;
  2. import com.ssj.quartz.dao.JobEntityDao;
  3. import com.ssj.quartz.domian.JobEntity;
  4. import com.ssj.quartz.service.JobEntityService;
  5. import org.quartz.*;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import java.util.List;
  9. @Service
  10. public class JobEntityServiceImpl implements JobEntityService{
  11. @Autowired
  12. private JobEntityDao dao;
  13. @Override
  14. public JobEntity getJobEntityById(Integer id) {
  15. return dao.getById(id);
  16. }
  17. @Override
  18. public List<JobEntity> loadJobs() {
  19. return dao.findAll();
  20. }
  21. @Override
  22. public JobDataMap getJobDataMap(JobEntity job) {
  23. JobDataMap map = new JobDataMap();
  24. map.put("jobClassName", job.getJobClassName());
  25. map.put("name", job.getName());
  26. map.put("group", job.getGroup());
  27. map.put("cronExpression", job.getCron());
  28. map.put("parameter", job.getParameter());
  29. map.put("JobDescription", job.getDescription());
  30. map.put("vmParam", job.getVmParam());
  31. map.put("jarPath", job.getJarPath());
  32. map.put("status", job.getStatus());
  33. return map;
  34. }
  35. @Override
  36. public JobDetail geJobDetail(JobKey jobKey, String description,
  37. JobDataMap map) throws ClassNotFoundException {
  38. String jobClassName=map.getString("jobClassName");
  39. Class taskClass = Class.forName(jobClassName);
  40. return JobBuilder.newJob(taskClass)
  41. .withIdentity(jobKey)
  42. .withDescription(description)
  43. .setJobData(map)
  44. .storeDurably()
  45. .build();
  46. }
  47. @Override
  48. public Trigger getTrigger(JobEntity job) {
  49. return TriggerBuilder.newTrigger()
  50. .withIdentity(job.getName(), job.getGroup())
  51. .withSchedule(CronScheduleBuilder.cronSchedule(job.getCron()))
  52. .build();
  53. }
  54. @Override
  55. public JobKey getJobKey(JobEntity job) {
  56. return JobKey.jobKey(job.getName(), job.getGroup());
  57. }
  58. }