Example usage for org.springframework.scheduling.quartz CronTriggerFactoryBean getObject

List of usage examples for org.springframework.scheduling.quartz CronTriggerFactoryBean getObject

Introduction

In this page you can find the example usage for org.springframework.scheduling.quartz CronTriggerFactoryBean getObject.

Prototype

@Override
    @Nullable
    public CronTrigger getObject() 

Source Link

Usage

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();
}