List of usage examples for org.springframework.scheduling.quartz CronTriggerFactoryBean setCronExpression
public void setCronExpression(String cronExpression)
From source file:com.wiiyaya.provider.main.utils.BatchHelper.java
public static CronTriggerImpl getCronTrigger(Batch task) { try {/*from w w w. j a v a 2 s. 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:eu.trentorise.game.managers.QuartzTaskManager.java
@Override public void updateTask(GameTask task, String gameId) { JobDetail job;/*from w ww .ja v a 2 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:eu.trentorise.game.managers.QuartzTaskManager.java
public void createTask(GameTask task, String gameId) { try {/*from w ww.ja va 2 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:com.thinkbiganalytics.scheduler.QuartzScheduler.java
public void scheduleJob(JobIdentifier jobIdentifier, TriggerIdentifier triggerIdentifier, Object obj, String targetMethod, String cronExpression, Map<String, Object> jobData) throws SchedulerException { MethodInvokingJobDetailFactoryBean jobDetailFactory = new MethodInvokingJobDetailFactoryBean(); jobDetailFactory.setTargetObject(obj); jobDetailFactory.setTargetMethod(targetMethod); jobDetailFactory.setName(jobIdentifier.getName()); jobDetailFactory.setGroup(jobIdentifier.getGroup()); CronTriggerFactoryBean triggerFactoryBean = new CronTriggerFactoryBean(); triggerFactoryBean.setCronExpression(cronExpression); triggerFactoryBean.setJobDetail(jobDetailFactory.getObject()); triggerFactoryBean.setGroup(triggerIdentifier.getGroup()); triggerFactoryBean.setName(triggerIdentifier.getName()); scheduleJob(jobDetailFactory, triggerFactoryBean); }
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
/** * Creates {@link CronTriggerFactoryBean} from the specified * <code>{@link JobSchedulerConfiguration}</code> * * @param jobSchedulerConfiguration//from w w w . java2s. co m * configuration to create <code>CronTriggerFactoryBean</> * @return the created <code>CronTriggerFactoryBean</code> or null if unable to * create it */ private CronTriggerFactoryBean createCronTriggerBean(JobSchedulerConfiguration jobSchedulerConfiguration) { CronTriggerFactoryBean cronTriggerBean = new CronTriggerFactoryBean(); cronTriggerBean.setName(jobSchedulerConfiguration.getJobName() + TRIGGER_SUFFIX); cronTriggerBean.setGroup(jobSchedulerConfiguration.getJobGroup() + TRIGGER_SUFFIX); try { cronTriggerBean.setCronExpression( String.valueOf(new CronExpression(jobSchedulerConfiguration.getCronExpression()))); cronTriggerBean.setName(jobSchedulerConfiguration.getJobName()); cronTriggerBean.setGroup(jobSchedulerConfiguration.getJobGroup()); return cronTriggerBean; } catch (ParseException e) { LOG.error("Unable to parse cron expression", e); } return null; }
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(); }