/** * @see CronTriggerFactoryBean#setStartDelay(long) * @param startDelay * @return */ public QuartzCronTriggerBuilder startDelay(long startDelay) { triggerFactoryBean.setStartDelay(startDelay); return this; } /**
/** * 10분에 한번씩 데이터 소스 체크 * * @return */ @Bean public CronTriggerFactoryBean tempDataSourceCleanTrigger(){ CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); triggerFactory.setJobDetail(tempDataSourceCleanJob().getObject()); triggerFactory.setStartDelay(20000); triggerFactory.setName("temporary-cleaner-trigger"); triggerFactory.setGroup(JOB_GROUP_CLEANER); triggerFactory.setCronExpression("0 0/10 * 1/1 * ? *"); return triggerFactory; }
/** * 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; }
/** * 10분에 한번씩 데이터 소스 체크 * * @return */ @Bean public CronTriggerFactoryBean dataSourceSizeCheckTrigger(){ CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); triggerFactory.setJobDetail(dataSourceSizeCheckJob().getObject()); triggerFactory.setStartDelay(20000); triggerFactory.setName("check-datasource-size-trigger"); triggerFactory.setGroup(JOB_GROUP_CHECK); triggerFactory.setCronExpression("0 0/10 * 1/1 * ? *"); return triggerFactory; }
/** * 매 30분마다 실행 * * @return */ @Bean public CronTriggerFactoryBean timeoutWorkbenchConnectionCloseTrigger(){ CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); triggerFactory.setJobDetail(timeoutWorkbenchConnectionCloseJob().getObject()); triggerFactory.setStartDelay(1000); triggerFactory.setName("timeout-connection-close-trigger"); triggerFactory.setGroup(JOB_GROUP_DOMAIN); triggerFactory.setCronExpression("0 0/30 * 1/1 * ? *"); return triggerFactory; }
/** * 1분에 한번씩 데이터 적재 작업 체크 * * @return */ @Bean public CronTriggerFactoryBean dataSourceIngestionCheckTrigger(){ CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); triggerFactory.setJobDetail(dataSourceIngestionCheckJob().getObject()); triggerFactory.setStartDelay(10000); triggerFactory.setName("check-ingestion-task"); triggerFactory.setGroup(JOB_GROUP_CHECK); triggerFactory.setCronExpression("0 0/1 * 1/1 * ? *"); return triggerFactory; }
/** * 매일 새벽 2시에 실행 * * @return */ @Bean public CronTriggerFactoryBean tempCSVFileCleanTrigger(){ CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); triggerFactory.setJobDetail(tempCSVFileCleanJob().getObject()); triggerFactory.setStartDelay(20000); triggerFactory.setName("temporary-csv-cleaner-trigger"); triggerFactory.setGroup(JOB_GROUP_CLEANER); triggerFactory.setCronExpression("0 0 2 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; }