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

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

Introduction

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

Prototype

public void setCronExpression(String cronExpression) 

Source Link

Document

Specify the cron expression for this trigger.

Usage

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