/** * * @return */ public JobDetail build() { jobDetailFactoryBean.afterPropertiesSet(); return jobDetailFactoryBean.getObject(); } }
public JobDetailFactoryBean jobDetailFactoryBean(Map<String, ?> contextInfoMap) { JobDetailFactoryBean jobDetailFactory = new JobDetailFactoryBean(); jobDetailFactory.setJobClass(WorkFlowScheduleJob.class); jobDetailFactory.setJobDataAsMap(contextInfoMap); jobDetailFactory.setGroup(groupName); jobDetailFactory.setName(jobName + "_" + UUID.randomUUID()); jobDetailFactory.afterPropertiesSet(); return jobDetailFactory; }
@RequestMapping("/schedule") public String schedule() { String scheduled = "Job is Scheduled!!"; try { JobDetailFactoryBean jdfb = ConfigureQuartz.createJobDetail(DynamicJob.class); jdfb.setBeanName("dynamicJobBean"); jdfb.afterPropertiesSet(); SimpleTriggerFactoryBean stfb = ConfigureQuartz.createTrigger(jdfb.getObject(),5000L); stfb.setBeanName("dynamicJobBeanTrigger"); stfb.afterPropertiesSet(); schedFactory.getScheduler().scheduleJob(jdfb.getObject(), stfb.getObject()); } catch (Exception e) { scheduled = "Could not schedule a job. " + e.getMessage(); } return scheduled; }
@Override public JobDetail buildJobDetail(JobDefinition rawJobDefinition) { JobDetailFactoryBean jobDetailFactory = new JobDetailFactoryBean(); ExecuteRunnableJobDefinition jobDefinition = (ExecuteRunnableJobDefinition) rawJobDefinition; jobDetailFactory.setName(jobDefinition.getScheduledJobName()); jobDetailFactory.setJobClass(RunnableJobLauncher.class); jobDetailFactory.setDescription(jobDefinition.getDescription()); Map<String, Object> jobDataMap = new HashMap<String, Object>(); RunnableDefinition runnableDefinition = runnableRepository.fetchDefinitionById(jobDefinition.getRunnableId()); jobDataMap.put(RUNNABLE_CONTEXT_PATH, runnableDefinition.getContextPath()); jobDataMap.put(JOB_DEFINITION_INSTANCE, convertToList(jobDefinition)); jobDetailFactory.setJobDataAsMap(jobDataMap); jobDetailFactory.afterPropertiesSet(); return jobDetailFactory.getObject(); }
private JobDetailFactoryBean createJobDetail(String name, Class<?> jobClass) { JobDetailFactoryBean factoryBean = new JobDetailFactoryBean(); factoryBean.setName(name); factoryBean.setJobClass(jobClass); factoryBean.setApplicationContext(context); factoryBean.setApplicationContextJobDataKey(AbstractJob.KEY_APPLICATION_CONTEXT); // job has to be durable to be stored in DB: factoryBean.setDurability(true); factoryBean.afterPropertiesSet(); return factoryBean; }
/** * 根据指定的参数,创建JobDetail * @param clazz * @param name * @param groupName * @param description * @return */ public static JobDetail createJobDetail(Class clazz, String name, String groupName, String description) { jobDetailFactory.setJobClass(clazz); jobDetailFactory.setName(name); jobDetailFactory.setGroup(groupName); jobDetailFactory.setDescription(description); jobDetailFactory.setDurability(true); jobDetailFactory.afterPropertiesSet(); return jobDetailFactory.getObject(); }
/** * Create Quartz Job. * * @param jobClass Class whose executeInternal() method needs to be called. * @param isDurable Job needs to be persisted even after completion. if true, job will be persisted, not otherwise. * @param context Spring application context. * @param jobName Job name. * @param jobGroup Job group. * * @return JobDetail object */ protected static JobDetail createJob(Class<? extends QuartzJobBean> jobClass, boolean isDurable, ApplicationContext context, String jobName, String jobGroup){ JobDetailFactoryBean factoryBean = new JobDetailFactoryBean(); factoryBean.setJobClass(jobClass); factoryBean.setDurability(isDurable); factoryBean.setApplicationContext(context); factoryBean.setName(jobName); factoryBean.setGroup(jobGroup); // set job data map JobDataMap jobDataMap = new JobDataMap(); jobDataMap.put("myKey", "myValue"); factoryBean.setJobDataMap(jobDataMap); factoryBean.afterPropertiesSet(); return factoryBean.getObject(); }