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

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

Introduction

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

Prototype

@Override
    public void afterPropertiesSet() throws ParseException 

Source Link

Usage

From source file:com.wiiyaya.provider.main.utils.BatchHelper.java

public static CronTriggerImpl getCronTrigger(Batch task) {
    try {/*  ww  w. ja  va2s. 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  w  w  .ja v a 2  s  .c  o m
    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 {/*ww  w. ja va 2s.  co 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.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();
}