@Test public void createWithoutJobDetail() throws ParseException { CronTriggerFactoryBean factory = new CronTriggerFactoryBean(); factory.setName("myTrigger"); factory.setCronExpression("0 15 10 ? * *"); factory.afterPropertiesSet(); CronTrigger trigger = factory.getObject(); assertEquals("0 15 10 ? * *", trigger.getCronExpression()); }
public void init() { try { MethodInvokingJobDetailFactoryBean jobDetail = new MethodInvokingJobDetailFactoryBean(); jobDetail.setTargetObject(transactionRecovery); jobDetail.setTargetMethod("startRecover"); jobDetail.setName("transactionRecoveryJob"); jobDetail.setConcurrent(false); jobDetail.afterPropertiesSet(); CronTriggerFactoryBean cronTrigger = new CronTriggerFactoryBean(); cronTrigger.setBeanName("transactionRecoveryCronTrigger"); cronTrigger.setCronExpression(transactionConfigurator.getRecoverConfig().getCronExpression()); cronTrigger.setJobDetail(jobDetail.getObject()); cronTrigger.afterPropertiesSet(); scheduler.scheduleJob(jobDetail.getObject(), cronTrigger.getObject()); scheduler.start(); } catch (Exception e) { throw new SystemException(e); } }
/** * 매일 새벽 1시에 실행 * * @return */ @Bean public CronTriggerFactoryBean notebookKillKernelTrigger(){ CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); triggerFactory.setJobDetail(notebookKillKernelJob().getObject()); triggerFactory.setName("kill-notebook-kernel-trigger"); triggerFactory.setGroup(JOB_GROUP_CLEANER); triggerFactory.setCronExpression("0 0 1 1/1 * ? *"); return triggerFactory; }
public CronTriggerFactoryBean cronTriggerFactoryBean(JobDetailFactoryBean jobDetailFactory, Long id, String cronExpression, Date startDateTime, Date enddatetime) throws ParseException { CronTriggerFactoryBean cronTriggerFactory = new CronTriggerFactoryBean(); cronTriggerFactory.setJobDetail(jobDetailFactory.getObject()); cronTriggerFactory.setStartDelay(3000); cronTriggerFactory.setName(triggerName + "_" + id); cronTriggerFactory.setGroup(groupName); logger.debug(EELFLoggerDelegate.debugLogger, triggerName + " Scheduled: " + cronExpression); cronTriggerFactory.setCronExpression( cronExpression); //"0 * * * * ? *" cronTriggerFactory.afterPropertiesSet(); final CronTriggerImpl cronTrigger = (CronTriggerImpl) cronTriggerFactory.getObject(); cronTrigger.setStartTime(startDateTime == null ? Calendar.getInstance().getTime() : startDateTime); cronTrigger.setEndTime(enddatetime); Date fireAgainTime = cronTrigger.getFireTimeAfter(cronTrigger.getStartTime()); if (fireAgainTime == null) throw new IllegalArgumentException("Cron not added as it may not fire again " + " Expr: " + cronExpression + " End Time: " + cronTrigger.getEndTime()); return cronTriggerFactory; }
/** * 根据参数,创建对应的CronTrigger对象 * * @param job * @param time * @param name * @param groupName * @param description * @return */ public static CronTrigger createCronTrigger(JobDetail job, String time, String name, String groupName, String description) { factoryBean.setName(name); factoryBean.setJobDetail(job); factoryBean.setCronExpression(time); factoryBean.setDescription(description); factoryBean.setGroup(groupName); try { factoryBean.afterPropertiesSet(); } catch (ParseException e) { e.printStackTrace(); } return factoryBean.getObject(); } }
String cronExpression = getCronExpression(cronTrigger); CronTriggerFactoryBean factoryBean = new CronTriggerFactoryBean(); factoryBean.setName(triggerName); if (!StringUtils.isBlank(cronTrigger.group())) { factoryBean.setGroup(cronTrigger.group()); factoryBean.setJobDetail(jobDetail); factoryBean.setCronExpression(cronExpression); factoryBean.setMisfireInstruction(cronTrigger.misfireInstruction().getMisfireInstruction()); factoryBean.afterPropertiesSet(); return factoryBean.getObject(); } catch (Exception e) { throw new IllegalStateException("Error in creating cron trigger with name '" + triggerName
// Create Job JobDetailFactoryBean JobDetail = new JobDetailFactoryBean(); jobDetail.setJobClass(ScheduledJob.class); jobDetail.setName("reportJob1"); jobDetail.setDurability(true); jobDetail.setJobDataMap(new JobDataMap()); jobDetail.afterPropertiesSet(); // create CRON Trigger CronTriggerFactoryBean trigger = new CronTriggerFactoryBean(); trigger.setBeanName("UniqueCronBeanName"); trigger.setGroup("uniqueCronGroup"); trigger.setJobDetail(jobDetail.getObject()); trigger.setCronExpression("0 0 12 * * ?"); trigger.afterPropertiesSet();
private static CronTriggerFactoryBean createCronTrigger(JobDetail jobDetail, String cronExpression) { CronTriggerFactoryBean factoryBean = new CronTriggerFactoryBean(); factoryBean.setJobDetail(jobDetail); factoryBean.setCronExpression(cronExpression); factoryBean.setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_FIRE_NOW); return factoryBean; }
@Bean public CronTriggerFactoryBean cronTriggerFactoryBean() { CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean(); cronTriggerFactoryBean.setJobDetail(jobDetailFactoryBean().getObject()); cronTriggerFactoryBean.setCronExpression("0 35 15 ? * MON *"); return cronTriggerFactoryBean; } @Bean public JobDetailFactoryBean jobDetailFactoryBean() { JobDetailFactoryBean jobDetailFactoryBean = new JobDetailFactoryBean(); jobDetailFactoryBean.setJobClass(YOUR_CLASS.class); return jobDetailFactoryBean; }
/** * Sets the cron expression. * * @param periodExpression the period expression * @param phaseExpression the phase expression */ @Autowired public void setCronExpression( @Value("${psiprobe.beans.stats.serializer.period}") String periodExpression, @Value("${psiprobe.beans.stats.serializer.phase}") String phaseExpression) { super.setCronExpression(TimeExpression.cronExpression(periodExpression, phaseExpression)); }
/** * * @return * @throws ParseException */ public CronTrigger build() throws ParseException { triggerFactoryBean.afterPropertiesSet(); return triggerFactoryBean.getObject(); } }
/** * @see CronTriggerFactoryBean#setJobDetail(JobDetail) * @param jobDetail * @return */ public QuartzCronTriggerBuilder jobDetail(JobDetail jobDetail) { triggerFactoryBean.setJobDetail(jobDetail); return this; } /**
public QuartzCronTriggerBuilder() { triggerFactoryBean = new CronTriggerFactoryBean(); }
@Bean public SchedulerFactoryBean scheduler() { SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean(); schedulerFactoryBean.setDataSource(dataSource); schedulerFactoryBean.setTransactionManager(transactionManager); schedulerFactoryBean.setJobFactory(jobFactory()); schedulerFactoryBean.setWaitForJobsToCompleteOnShutdown(true); schedulerFactoryBean.setJobDetails(dataSourceCheckJob().getObject(), dataSourceIngestionCheckJob().getObject(), dataSourceSizeCheckJob().getObject(), incrementalJob().getObject(), tempDataSourceCleanJob().getObject(), calculatePopularityJob().getObject(), notebookKillKernelJob().getObject(), tempCSVFileCleanJob().getObject(), timeoutWorkbenchConnectionCloseJob().getObject()); schedulerFactoryBean.setTriggers(dataSourceCheckTrigger().getObject(), dataSourceIngestionCheckTrigger().getObject(), dataSourceSizeCheckTrigger().getObject(), tempDataSourceCleanTrigger().getObject(), calculatePopularityTrigger().getObject(), notebookKillKernelTrigger().getObject(), tempCSVFileCleanTrigger().getObject(), timeoutWorkbenchConnectionCloseTrigger().getObject()); return schedulerFactoryBean; }
@Override public void triggerWorkflowScheduling(SchedulerFactoryBean schedulerBean, WorkflowSchedule ws) { try { final CronTriggerFactoryBean triggerBean = workflowRegistry.setUpTrigger(ws.getId(), ws.getServerUrl(), ws.getWorkflowKey(), ws.getArguments(), ws.getCronDetails(), ws.getStartDateTime(), ws.getEndDateTime()); schedulerBean.getScheduler().scheduleJob((JobDetail) triggerBean.getJobDataMap().get("jobDetail"), triggerBean.getObject()); } catch (Exception e) { logger.error(EELFLoggerDelegate.errorLogger, "Error scheduling work flow with Id" + ws.getId(), e); } }
/** * @see CronTriggerFactoryBean#setName(String) * @param name * @return */ public QuartzCronTriggerBuilder name(String name) { triggerFactoryBean.setName(name); return this; } /**
@Override public void afterPropertiesSet() throws ParseException{ super.afterPropertiesSet(); //Remove the JobDetail element getJobDataMap().remove(JOB_DETAIL_KEY); } }
/** * @see CronTriggerFactoryBean#setGroup(String) * @param group * @return */ public QuartzCronTriggerBuilder group(String group) { triggerFactoryBean.setGroup(group); return this; } /**
/** * @see CronTriggerFactoryBean#setMisfireInstruction(int) * @param misfireInstruction * @return */ public QuartzCronTriggerBuilder misfireInstruction(int misfireInstruction) { triggerFactoryBean.setMisfireInstruction(misfireInstruction); return this; } /**
/** * 5분에 한번식 데이터 소스 체크 * * @return */ @Bean public CronTriggerFactoryBean dataSourceCheckTrigger(){ CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); triggerFactory.setJobDetail(dataSourceCheckJob().getObject()); triggerFactory.setStartDelay(10000); triggerFactory.setName("check-datasource-trigger"); triggerFactory.setGroup(JOB_GROUP_CHECK); triggerFactory.setCronExpression("0 0/5 * 1/1 * ? *"); return triggerFactory; }