List of usage examples for org.springframework.scheduling.quartz CronTriggerFactoryBean getObject
@Override
@Nullable
public CronTrigger getObject()
From source file:com.wiiyaya.provider.main.utils.BatchHelper.java
public static CronTriggerImpl getCronTrigger(Batch task) { try {/*from w ww . j av a2s . c o m*/ CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean(); cronTriggerFactoryBean.setBeanName(task.getTaskName()); cronTriggerFactoryBean.setJobDetail(getJobDetail(task)); cronTriggerFactoryBean.setMisfireInstruction(task.getMisfireType().getInstruction()); cronTriggerFactoryBean.setCronExpression(task.getCronExpression()); cronTriggerFactoryBean.afterPropertiesSet(); CronTriggerImpl cronTriggerImpl = (CronTriggerImpl) cronTriggerFactoryBean.getObject(); if (task.getStartDate() != null) { cronTriggerImpl.setStartTime(task.getStartDate()); } if (task.getEndDate() != null) { cronTriggerImpl.setEndTime(task.getEndDate()); } if (task.isHolidayRest()) { //TODO } return cronTriggerImpl; } catch (ParseException e) { return null; } }
From source file:com.thinkbiganalytics.scheduler.QuartzScheduler.java
public void scheduleJob(JobDetail job, CronTriggerFactoryBean cronTriggerFactoryBean) throws SchedulerException { CronTrigger trigger = cronTriggerFactoryBean.getObject(); scheduleJob(job, trigger);/*from w ww .j av a 2s .com*/ }
From source file:eu.trentorise.game.managers.QuartzTaskManager.java
@Override public void updateTask(GameTask task, String gameId) { JobDetail job;/*w ww . j a va2 s. c om*/ try { job = scheduler.getJobDetail(new JobKey(task.getName(), gameId)); if (job != null) { CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); String cronExpression = task.getSchedule().getCronExpression(); // fix for version 2.2.1 of CronTrigger triggerFactory.setCronExpression(fixCronExpression(cronExpression)); triggerFactory.setName(task.getName()); triggerFactory.setGroup(gameId); triggerFactory.setJobDetail(job); triggerFactory.afterPropertiesSet(); Trigger trigger = triggerFactory.getObject(); scheduler.rescheduleJob(new TriggerKey(task.getName(), gameId), trigger); logger.info("task {} updated", task.getName()); } else { logger.warn("job task {} not found, task not updated", task.getName()); } } catch (SchedulerException e) { logger.error("SchedulerException: task {} not updated", task.getName()); } catch (ParseException e) { logger.error("ParseException: task {} not updated", task.getName()); } }
From source file:com.thinkbiganalytics.scheduler.QuartzScheduler.java
public void scheduleJob(MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean, CronTriggerFactoryBean cronTriggerFactoryBean) throws SchedulerException { JobDetail job = methodInvokingJobDetailFactoryBean.getObject(); CronTrigger trigger = cronTriggerFactoryBean.getObject(); scheduleJob(job, trigger);/*from w w w. j ava 2 s .co m*/ }
From source file:eu.trentorise.game.managers.QuartzTaskManager.java
public void createTask(GameTask task, String gameId) { try {// w ww . j ava2 s .c o m // start the scheduler // init in postcontruct not possible cause circolar reference of // gameCtx if (!scheduler.isStarted()) { init(); } GameContext ctx = createGameCtx(gameId, task); // check scheduler context data if (!scheduler.getContext().containsKey(ctx.getGameRefId() + ":" + task.getName())) { scheduler.getContext().put(ctx.getGameRefId() + ":" + task.getName(), ctx); logger.debug("Added gameCtx {} to scheduler ctx", ctx.getGameRefId() + ":" + task.getName()); } if (!scheduler.getContext().containsKey(task.getName())) { scheduler.getContext().put(task.getName(), task); logger.debug("Added {} task to scheduler ctx", task.getName()); } // schedule task if (!scheduler.checkExists(new JobKey(task.getName(), ctx.getGameRefId())) && !scheduler.checkExists(new TriggerKey(task.getName(), ctx.getGameRefId()))) { JobDetailFactoryBean jobFactory = new JobDetailFactoryBean(); jobFactory.setJobClass(GameJobQuartz.class); Map<String, Object> jobdata = new HashMap<String, Object>(); jobdata.put("taskName", task.getName()); jobdata.put("gameId", ctx.getGameRefId()); jobFactory.setName(task.getName()); jobFactory.setGroup(ctx.getGameRefId()); jobFactory.setJobDataAsMap(jobdata); jobFactory.afterPropertiesSet(); JobDetail job = jobFactory.getObject(); CronTriggerFactoryBean triggerFactory = new CronTriggerFactoryBean(); String cronExpression = task.getSchedule().getCronExpression(); // fix for version 2.2.1 of CronTrigger triggerFactory.setCronExpression(fixCronExpression(cronExpression)); triggerFactory.setName(task.getName()); triggerFactory.setGroup(ctx.getGameRefId()); triggerFactory.setJobDetail(job); triggerFactory.afterPropertiesSet(); Trigger trigger = triggerFactory.getObject(); scheduler.scheduleJob(job, trigger); logger.info("Created and started job task {} in group {}", task.getName(), ctx.getGameRefId()); } else { logger.info("Job task {} in group {} already exists", task.getName(), ctx.getGameRefId()); } } catch (Exception e) { logger.error(e.getMessage()); } }
From source file:org.apache.fineract.infrastructure.jobs.service.JobRegisterServiceImpl.java
private Trigger createTrigger(final ScheduledJobDetail scheduledJobDetails, final JobDetail jobDetail) { final FineractPlatformTenant tenant = ThreadLocalContextUtil.getTenant(); final CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean(); cronTriggerFactoryBean.setName(scheduledJobDetails.getJobName() + "Trigger" + tenant.getId()); cronTriggerFactoryBean.setJobDetail(jobDetail); final JobDataMap jobDataMap = new JobDataMap(); jobDataMap.put(SchedulerServiceConstants.TENANT_IDENTIFIER, tenant.getTenantIdentifier()); cronTriggerFactoryBean.setJobDataMap(jobDataMap); final TimeZone timeZone = TimeZone.getTimeZone(tenant.getTimezoneId()); cronTriggerFactoryBean.setTimeZone(timeZone); cronTriggerFactoryBean.setGroup(scheduledJobDetails.getGroupName()); cronTriggerFactoryBean.setCronExpression(scheduledJobDetails.getCronExpression()); cronTriggerFactoryBean.setPriority(scheduledJobDetails.getTaskPriority()); cronTriggerFactoryBean.afterPropertiesSet(); return cronTriggerFactoryBean.getObject(); }
From source file:org.libreplan.importers.SchedulerManager.java
@Override public void deleteJob(JobSchedulerConfiguration jobSchedulerConfiguration) throws SchedulerException { String triggerName = jobSchedulerConfiguration.getJobName() + TRIGGER_SUFFIX; String triggerGroup = jobSchedulerConfiguration.getJobGroup() + TRIGGER_SUFFIX; CronTriggerFactoryBean trigger = getTriggerBean(triggerName, triggerGroup); if (trigger == null) { LOG.warn("Trigger not found"); return;//from w ww.j ava 2 s.c om } if (isJobCurrentlyExecuting(triggerName, triggerGroup)) { LOG.warn("Job is currently executing..."); return; } // deleteJob doesn't work using unscheduleJob this.scheduler.unscheduleJob(trigger.getObject().getKey()); }
From source file:org.libreplan.importers.SchedulerManager.java
/** * Creates {@link CronTriggerFactoryBean} and {@link JobDetailFactoryBean} based on the * specified <code>{@link JobSchedulerConfiguration}</code>. First delete * job if exist and then schedule it//from w w w.j a va2 s . c om * * @param jobSchedulerConfiguration * where to reade jobs to be scheduled * @throws SchedulerException * if unable to delete and/or schedule job */ private void scheduleNewJob(JobSchedulerConfiguration jobSchedulerConfiguration) throws SchedulerException { CronTriggerFactoryBean cronTriggerBean = createCronTriggerBean(jobSchedulerConfiguration); if (cronTriggerBean == null) { return; } JobDetailFactoryBean jobDetailBean = createJobDetailBean(jobSchedulerConfiguration); if (jobDetailBean == null) { return; } deleteJob(jobSchedulerConfiguration); this.scheduler.scheduleJob(jobDetailBean.getObject(), cronTriggerBean.getObject()); }
From source file:org.mifosplatform.infrastructure.jobs.service.JobRegisterServiceImpl.java
private Trigger createTrigger(final ScheduledJobDetail scheduledJobDetails, final JobDetail jobDetail) { final MifosPlatformTenant tenant = ThreadLocalContextUtil.getTenant(); final CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean(); cronTriggerFactoryBean.setName(scheduledJobDetails.getJobName() + "Trigger" + tenant.getId()); cronTriggerFactoryBean.setJobDetail(jobDetail); final JobDataMap jobDataMap = new JobDataMap(); jobDataMap.put(SchedulerServiceConstants.TENANT_IDENTIFIER, tenant.getTenantIdentifier()); cronTriggerFactoryBean.setJobDataMap(jobDataMap); final TimeZone timeZone = TimeZone.getTimeZone(tenant.getTimezoneId()); cronTriggerFactoryBean.setTimeZone(timeZone); cronTriggerFactoryBean.setGroup(scheduledJobDetails.getGroupName()); cronTriggerFactoryBean.setCronExpression(scheduledJobDetails.getCronExpression()); cronTriggerFactoryBean.setPriority(scheduledJobDetails.getTaskPriority()); cronTriggerFactoryBean.afterPropertiesSet(); return cronTriggerFactoryBean.getObject(); }