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

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

Introduction

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

Prototype

public void setJobDetail(JobDetail jobDetail) 

Source Link

Document

Set the JobDetail that this trigger should be associated with.

Usage

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

public static CronTriggerImpl getCronTrigger(Batch task) {
    try {//from w ww .jav  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;// w  ww  . j a  va 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.  j av a  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.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();
}