- package com.apdplat.module.sms.service;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerException;
- import org.quartz.impl.StdSchedulerFactory;
- import static org.quartz.CronScheduleBuilder.cronSchedule;
- import org.quartz.CronTrigger;
- import static org.quartz.JobBuilder.newJob;
- import static org.quartz.TriggerBuilder.newTrigger;
- import org.slf4j.LoggerFactory;
- /**
- *任务调度器
- */
- public class TaskScheduler {
- private static org.slf4j.Logger log = LoggerFactory.getLogger(TaskScheduler.class);
- private static Scheduler scheduler = null;
- public static void unSchedule(){
- if(scheduler!=null){
- try {
- scheduler.shutdown();
- scheduler=null;
- log.info("调度任务关闭成功");
- } catch (SchedulerException ex) {
- log.info("调度任务关闭失败",ex);
- }
- }
- }
- public static void schedule() {
- try {
- if(scheduler!=null){
- unSchedule();
- }
- scheduler = new StdSchedulerFactory().getScheduler();
- JobDetail job = newJob(SmsSendTask.class)
- .withIdentity("job1", "group1")
- .build();
- CronTrigger trigger = newTrigger()
- .withIdentity("trigger1", "group1")
- .withSchedule(cronSchedule(PropertyHolder.get("trigger.expression")))
- .build();
- log.info("trigger.expression: "+trigger.getCronExpression());
- scheduler.scheduleJob(job, trigger);
- scheduler.start();
- } catch (SchedulerException ex) {
- log.info("调度任务失败",ex);
- }
- }
- public static void main(String[] args) {
- TaskScheduler.schedule();
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/261220138275.html
来源: http://www.codesnippet.cn/detail/261220138275.html