org.quartz.SchedulerException#printStackTrace ( )源码实例Demo

下面列出了org.quartz.SchedulerException#printStackTrace ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: timer   文件: AppApplicationImpl.java
@Override
public void unregister(String appName, String address) {
    AppPO appPO = appDomain.getAppInfo(appName, address);
    if (appPO != null) {
        appPO.setStatus(Boolean.FALSE);
        appDomain.updateAppStatus(appPO);
        List<String> addressList = appDomain.getAddressListByName(appName, Boolean.TRUE);
        if (CollectionUtils.isEmpty(addressList)) {
            try {
                quartzScheduler.pauseJobs(GroupMatcher.groupEquals(appName));
            } catch (SchedulerException e) {
                e.printStackTrace();
            }
            DefaultThreadPool.executor.submit(new ElephantTask(appName));
        }
    }
}
 
源代码2 项目: spring-boot-quartz-demo   文件: JobServiceImpl.java
/**
 * Schedule a job by jobName at given date.
 */
@Override
public boolean scheduleCronJob(String jobName, Class<? extends QuartzJobBean> jobClass, Date date, String cronExpression) {
	System.out.println("Request received to scheduleJob");

	String jobKey = jobName;
	String groupKey = "SampleGroup";	
	String triggerKey = jobName;		

	JobDetail jobDetail = JobUtil.createJob(jobClass, false, context, jobKey, groupKey);

	System.out.println("creating trigger for key :"+jobKey + " at date :"+date);
	Trigger cronTriggerBean = JobUtil.createCronTrigger(triggerKey, date, cronExpression, SimpleTrigger.MISFIRE_INSTRUCTION_FIRE_NOW);

	try {
		Scheduler scheduler = schedulerFactoryBean.getScheduler();
		Date dt = scheduler.scheduleJob(jobDetail, cronTriggerBean);
		System.out.println("Job with key jobKey :"+jobKey+ " and group :"+groupKey+ " scheduled successfully for date :"+dt);
		return true;
	} catch (SchedulerException e) {
		System.out.println("SchedulerException while scheduling job with key :"+jobKey + " message :"+e.getMessage());
		e.printStackTrace();
	}

	return false;
}
 
源代码3 项目: NewsRecommendSystem   文件: JobSetter.java
/**
 * 使用Quartz的表达式进行时间设定(默认为每天0点开始工作),详情请参照:http://www.quartz-scheduler.org/api/2.2.1/index.html(CronExpression)
 * 当启用该方法时,推荐系统可以保持运行,直到被强制关闭。
 * @param userList
 */
private void executeQuartzJob(List<Long> userList) {
	//设定推荐任务每天的执行时间
	String cronExpression=PropGetKit.getString("startAt");
	
	try
	{
		if(enableCF)
			new CFCronTriggerRunner().task(userList,cronExpression);
		if(enableCB)
			new CBCronTriggerRunner().task(userList,cronExpression);
		if(enableHR)
			new HRCronTriggerRunner().task(userList,cronExpression);
	}
	catch (SchedulerException e)
	{
		e.printStackTrace();
	}
	System.out.println("本次推荐结束于"+new Date());
}
 
源代码4 项目: spring-boot-quartz-demo   文件: JobServiceImpl.java
/**
 * Pause a job
 */
@Override
public boolean pauseJob(String jobName) {
	System.out.println("Request received for pausing job.");

	String jobKey = jobName;
	String groupKey = "SampleGroup";
	JobKey jkey = new JobKey(jobKey, groupKey); 
	System.out.println("Parameters received for pausing job : jobKey :"+jobKey+ ", groupKey :"+groupKey);

	try {
		schedulerFactoryBean.getScheduler().pauseJob(jkey);
		System.out.println("Job with jobKey :"+jobKey+ " paused succesfully.");
		return true;
	} catch (SchedulerException e) {
		System.out.println("SchedulerException while pausing job with key :"+jobName + " message :"+e.getMessage());
		e.printStackTrace();
		return false;
	}
}
 
源代码5 项目: elexis-3-core   文件: QuartzExecutor.java
public void incur(ITaskService taskService, ITaskDescriptor taskDescriptor) throws TaskException{
	
	// test if the runnable can be instantiated
	taskService.instantiateRunnableById(taskDescriptor.getIdentifiedRunnableId());
	
	String cron = taskDescriptor.getTriggerParameters().get("cron");
	CronScheduleBuilder cronSchedule = CronScheduleBuilder.cronSchedule(cron);
	
	JobKey jobKey = new JobKey(taskDescriptor.getId());
	JobDataMap jobDataMap = new JobDataMap(taskDescriptor.getRunContext());
	jobDataMap.put("taskDescriptor", taskDescriptor);
	jobDataMap.put("taskService", taskService);
	
	JobDetail jobDetail = JobBuilder.newJob(TriggerTaskJob.class).withIdentity(jobKey).build();
	Trigger trigger = TriggerBuilder.newTrigger().withIdentity(taskDescriptor.getId())
		.withSchedule(cronSchedule).usingJobData(jobDataMap).build();
	
	try {
		sched.scheduleJob(jobDetail, trigger);
	} catch (SchedulerException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
}
 
源代码6 项目: robe   文件: JobResource.java
/**
 * Return all HJobInfo as a collection
 *
 * @param credentials auto fill by {@link RobeAuth} annotation for authentication.
 * @return all {@link HJobInfo} as a collection
 */
@RobeService(group = "HJobInfo", description = "Returns all HJobInfo as a collection.")
@GET
@UnitOfWork(readOnly = true, cacheMode = GET, flushMode = FlushMode.MANUAL)
public Collection<JobInfoDTO> getAll(@RobeAuth Credentials credentials, @SearchParam SearchModel search) {
    List<JobInfoDTO> dtoList = new LinkedList<>();
    for (HJobInfo info : jobDao.findAllStrict(search)) {
        JobInfoDTO dto = new JobInfoDTO(info);
        try {
            if (!JobManager.getInstance().isScheduledJob(dto.getName(), dto.getGroup())) {
                dto.setStatus(JobInfoDTO.Status.UNSCHEDULED);
            } else {
                if (JobManager.getInstance().isPausedJob(dto.getName(), dto.getGroup())) {
                    dto.setStatus(JobInfoDTO.Status.PAUSED);
                } else {
                    dto.setStatus(JobInfoDTO.Status.ACTIVE);
                }
            }
        } catch (SchedulerException e) {
            e.printStackTrace();
        }
        dtoList.add(dto);
    }
    return dtoList;
}
 
源代码7 项目: spring-boot-quartz-demo   文件: JobServiceImpl.java
/**
 * Stop a job
 */
@Override
public boolean stopJob(String jobName) {
	System.out.println("JobServiceImpl.stopJob()");
	try{	
		String jobKey = jobName;
		String groupKey = "SampleGroup";

		Scheduler scheduler = schedulerFactoryBean.getScheduler();
		JobKey jkey = new JobKey(jobKey, groupKey);

		return scheduler.interrupt(jkey);

	} catch (SchedulerException e) {
		System.out.println("SchedulerException while stopping job. error message :"+e.getMessage());
		e.printStackTrace();
	}
	return false;
}
 
源代码8 项目: Lottery   文件: IndexStaticJob.java
protected void executeInternal(JobExecutionContext context)throws JobExecutionException {
   try {  
       SchedulerContext schCtx = context.getScheduler().getContext();  
       JobDataMap jdm=context.getJobDetail().getJobDataMap();
        //获取Spring中的上下文    
       ApplicationContext appCtx = (ApplicationContext)schCtx.get("applicationContext");  
       this.cmsSiteMng= (CmsSiteMng)appCtx.getBean("cmsSiteMng");  
       this.staticPageSvc= (StaticPageSvc)appCtx.getBean("staticPageSvc");  
       this.sessionFactory=(SessionFactory) appCtx.getBean("sessionFactory");
       this.siteId=Integer.parseInt((String) jdm.get(CmsTask.TASK_PARAM_SITE_ID));
   } catch (SchedulerException e1) {  
       // TODO 尚未处理异常  
       e1.printStackTrace();  
   }   
	staticIndex();
}
 
源代码9 项目: fixflow   文件: QuartzUtil.java
/**
 * 根据定时任务和作业名称得到作业
 * @param scheduler 定时任务
 * @param jobKey 作业名称
 * @return
 */
public static JobDetail getJobDetail(Scheduler scheduler, String jobKey) {
	JobDetail jobDetail = null;
	try {
		jobDetail = scheduler.getJobDetail(new JobKey(jobKey));
	} catch (SchedulerException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return jobDetail;
}
 
源代码10 项目: timer   文件: AppApplicationImpl.java
@Override
public void register(String appName, String address) {
    //LOGGER.info("Application registering:appName[{}], address[{}]", appName, address);
    List<String> addressList = appDomain.getAddressListByName(appName, Boolean.TRUE);
    AppPO appPO = appDomain.getAppInfo(appName, address);
    if (appPO == null) {
        appPO = new AppPO(appName, address, Boolean.TRUE);
        appDomain.addNewApp(appPO);
    } else if (!appPO.getStatus()) {
        changeAppStatus(appPO.getId(), Boolean.TRUE);
    } else {
        appDomain.updateActiveTime(appName, address);
    }
    //LOGGER.info("Application registered");
    if (CollectionUtils.isEmpty(addressList)) {
        List<JobPO> jobPOS = jobDomain.getJobListByAppName(appName);
        try {
            if (CollectionUtils.isNotEmpty(jobPOS)) {
                for (JobPO jobPO : jobPOS) {
                    quartzScheduler.resumeJob(JobKey.jobKey(jobPO.getJobName(), appName));
                }
            }
        } catch (SchedulerException e) {
            e.printStackTrace();
        }
    }
}
 
源代码11 项目: quartz-web   文件: TriggerServiceStrategy.java
public static JSONResult runTrigge(String schedulerName, String triggerName, String triggerGroup) {
    try {
        QuartzWebManager.runTrigger(schedulerName, triggerName, triggerGroup);
        return JSONResult.build(JSONResult.RESULT_CODE_SUCCESS, "ok");
    } catch (SchedulerException e) {
        e.printStackTrace();
        return JSONResult.build(JSONResult.RESULT_CODE_ERROR, e.getMessage());
    }
}
 
源代码12 项目: elasticsearch-mysql   文件: JobScheduler.java
public boolean isRunning(String jobKey) {
    try {
        for (JobExecutionContext context : scheduler.getCurrentlyExecutingJobs()) {
            // logger.info(context.getJobDetail().getKey().getName() + " is running");
            if (context.getJobDetail().getKey().getName().equals(jobKey)) {
                return true;
            }
        }
    } catch (SchedulerException e) {
        logger.info("get jobs status failed");
        e.printStackTrace();
    }
    return false;
}
 
源代码13 项目: yyblog   文件: TaskServiceImpl.java
@Override
public int remove(Long id) {
    try {
        TaskDO task = get(id);
        quartzManager.deleteJob(task);
        return taskMapper.remove(id);
    } catch (SchedulerException e) {
        e.printStackTrace();
        return 0;
    }

}
 
源代码14 项目: yyblog   文件: TaskServiceImpl.java
@Override
public int removeBatch(Long[] ids) {
    for (Long id : ids) {
        try {
            TaskDO task = get(id);
            quartzManager.deleteJob(task);
        } catch (SchedulerException e) {
            e.printStackTrace();
            return 0;
        }
    }
    return taskMapper.removeBatch(ids);
}
 
源代码15 项目: elasticsearch-mysql   文件: JobScheduler.java
private JobScheduler() {
    SchedulerFactory sf = new StdSchedulerFactory();
    try {
        scheduler = sf.getScheduler();
        scheduler.getListenerManager().addJobListener(new Listener(), allJobs());
    } catch (SchedulerException e) {
        e.printStackTrace();
    }
}
 
源代码16 项目: DataHubSystem   文件: StubSavedSearchController.java
@RequestMapping(value = "/users/{userid}/searches", method = RequestMethod.GET)
public List<Search> getUserSearches(final Principal principal,
      @PathVariable(value = "userid")
      final String userid, @RequestParam(value = "offset", defaultValue = "")
      final int offset, @RequestParam(value = "count", defaultValue = "")
      final int count)
{
   List<Search> searches = null;
   final fr.gael.dhus.service.UserService userService =
      ApplicationContextProvider
            .getBean(fr.gael.dhus.service.UserService.class);

   final User u =
      (User) ((UsernamePasswordAuthenticationToken) principal).getPrincipal();
   if (u == null)
   {
      throw new UserNotExistingException();
   }
   logger.debug(" ***** parameters ***** ");
   logger.debug(" ***** offset ***** " + offset);
   logger.debug(" ***** count ***** " + count);
   searches = userService.scrollSearchesOfUser(u.getUUID(), offset, count);
   try
   {
      userService.getNextScheduleSearch();
   }
   catch (final SchedulerException e)
   {
      logger.error("Error scheduling next search" + e.getMessage());
      e.printStackTrace();
   }
   return searches;

}
 
源代码17 项目: fixflow   文件: QuartzUtil.java
/**
 * 根据任务工厂拿到定时任务
 * @param schedulerFactory 任务工厂
 * @return
 */
public static Scheduler getScheduler(SchedulerFactory schedulerFactory) {
	Scheduler scheduler = null;
	try {
		scheduler = schedulerFactory.getScheduler();
	} catch (SchedulerException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return scheduler;
}
 
源代码18 项目: robe   文件: JobResource.java
/**
 * Returns all HTriggerInfo as a collection with the matches given job id.
 *
 * @param credentials auto fill by {@link RobeAuth} annotation for authentication.
 * @return all {@link HTriggerInfo} as a collection
 */
@RobeService(group = "HJobInfo", description = "Returns all HTriggerInfo as a collection with the matches given job id.")
@PUT
@Path("{id}/schedule")
@UnitOfWork(readOnly = true, cacheMode = GET, flushMode = FlushMode.MANUAL)
public boolean schedule(@RobeAuth Credentials credentials, @PathParam("id") String id) {
    HJobInfo info = jobDao.findById(id);
    if (info == null) {
        throw new WebApplicationException(Response.status(404).build());
    }
    try {
        JobInfo dto = new HibernateJobInfoProvider().getJob(info.getJobClass());
        JobDetail detail = HibernateJobInfoProvider.convert2JobDetail(dto);
        Set<Trigger> triggers = new HashSet<>(dto.getTriggers().size());
        for (TriggerInfo triggerInfo : dto.getTriggers()) {
            if (triggerInfo.getType().equals(TriggerInfo.Type.CRON) ||
                    triggerInfo.getType().equals(TriggerInfo.Type.SIMPLE)) {
                triggers.add(HibernateJobInfoProvider.convert2Trigger(triggerInfo, dto));
            }
        }
        JobManager.getInstance().scheduleJob(detail, triggers, false);
        return true;
    } catch (SchedulerException e) {
        e.printStackTrace();
        return false;
    }
}
 
源代码19 项目: flowchat   文件: ScheduledJobs.java
public static void start() {
    // Another
    try {
        // Grab the Scheduler instance from the Factory
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

        // and start it off
        scheduler.start();

        JobDetail fetchFromReddit = newJob(RedditImporter.class)
                .build();

        // Trigger the job to run now, and then repeat every x minutes
        Trigger fetchFromRedditTrigger = newTrigger()
                .startNow()
                .withSchedule(simpleSchedule()
                        .withIntervalInHours(4)
                        .repeatForever())
                .build();

        // Tell quartz to schedule the job using our trigger
        scheduler.scheduleJob(fetchFromReddit, fetchFromRedditTrigger);

    } catch (SchedulerException se) {
        se.printStackTrace();
    }
}
 
源代码20 项目: spring-boot-quartz-demo   文件: JobServiceImpl.java
/**
 * Get the current state of job
 */
public String getJobState(String jobName) {
	System.out.println("JobServiceImpl.getJobState()");

	try {
		String groupKey = "SampleGroup";
		JobKey jobKey = new JobKey(jobName, groupKey);

		Scheduler scheduler = schedulerFactoryBean.getScheduler();
		JobDetail jobDetail = scheduler.getJobDetail(jobKey);

		List<? extends Trigger> triggers = scheduler.getTriggersOfJob(jobDetail.getKey());
		if(triggers != null && triggers.size() > 0){
			for (Trigger trigger : triggers) {
				TriggerState triggerState = scheduler.getTriggerState(trigger.getKey());

				if (TriggerState.PAUSED.equals(triggerState)) {
					return "PAUSED";
				}else if (TriggerState.BLOCKED.equals(triggerState)) {
					return "BLOCKED";
				}else if (TriggerState.COMPLETE.equals(triggerState)) {
					return "COMPLETE";
				}else if (TriggerState.ERROR.equals(triggerState)) {
					return "ERROR";
				}else if (TriggerState.NONE.equals(triggerState)) {
					return "NONE";
				}else if (TriggerState.NORMAL.equals(triggerState)) {
					return "SCHEDULED";
				}
			}
		}
	} catch (SchedulerException e) {
		System.out.println("SchedulerException while checking job with name and group exist:"+e.getMessage());
		e.printStackTrace();
	}
	return null;
}